Электронная библиотека » О. Палёк » » онлайн чтение - страница 11

Текст книги "Юмор разных лет"


  • Текст добавлен: 4 ноября 2013, 13:31


Автор книги: О. Палёк


Жанр: Юмористическая проза, Юмор


Возрастные ограничения: +16

сообщить о неприемлемом содержимом

Текущая страница: 11 (всего у книги 20 страниц)

Шрифт:
- 100% +
1. Константы

В Male C нет такого понятия, как константа. Ничто в мире не вечно, даже любовь. Однако есть несколько понятий, о которых точно известно, что они существуют и которые в Male C, таким образом, постоянны. Однако повторяем, что точное значение их неизвестно.

Таких констант несколько:

LOVE /* наиболее важная константа, чаще всего цель программы. Имеет два значения: YES NO */ Эта единственная константа, понять которую можно только из контекста, поскольку необходимо еще знать, какая LOVE имеется ввиду. Примечание: Некоторые считают, что существует множество промежуточных значений этой константы. Комментарий: осетрина бывает свежей или…

SEX /* менее важная константа, чаще всего путь к первой константе */

Примечание: Кое-кто думает наоборот. Без комментариев.

HEALTH /* самая непостоянная константа*/. Обычно принимает три значения:

BAD – иногда

GOOD – иногда

SO-SO – чаще всего.

MONEY /* критический параметр, всегда не хватает */ Примечание: Некоторые полагают, что с помощью этой константы можно получить все остальные. Без комментариев.

WORK /* средство для наполнения предыдущей константы */ Примечания: Некоторые полагают, что WORK существует только для самовыражения. Комментарий: в доме без туалета жить можно. Но неудобно. Примечание: в Male C+ WORK придается статус оператора, а не константы. Это новые веяния – работа уже не считается необходимой для успеха.

STATE /* вообще-то, это константа из языка Male C+, однако в последнее время она введена в большинство трансляторов языка С. Хотя мы считаем, что Male C+ более мужско-шовинисткий диалект, но… */

Принимает два состояния:

RULEZ – Все ОК, все отлично, великолепно и пр.

SUX – Все наоборот.

Примечание: В Male C вводится еще несколько констант, к сожалению, мужско-шовинистских. Не вдаваясь в подробности, мы опишем несколько для полноты картины:

BEER обычно принимает дробные значения, 0.3, 0.5, реже 1.2 или выше.

CAR обычно равно 1; зачастую заменяет все остальные константы

SPORT если не WORK, не SEX и не BEER, но SPORT, однако чаще всего в пассивной форме наблюдения.

Забегая немного вперед, предлагаем для самостоятельного разбора простенькую программу с использованием вышеописанных констант (заметьте, что смысл программы надо искать исходя не только из одних операторов).

RULEZ;

IF (LOVE == SEX) BAD;

ELSE IF (LOVE == WORK) SO-SO;

ELSE (LOVE == YES) GOOD;

LOVE == NO; VERY BAD;

END;

Короче, если вы чувствуете любовь, но не можете дать ей определение, это хорошо.

2. Переменные2.1. Одиночные переменные

Переменные в языке Male C имеют примерно то же самое значение, что и в других языках. Однако, как в старых языках, в Male C нет необходимости явно определять тип переменных, когда их смысл ясен из контекста.

К примеру, если парикмахер плохо уложил вам волосы, это безусловно, Shit. А если он к тому же еще и сжег их, то это DOUBLE Shit. Для женщины Whisky редко бывает DOUBLE, а мужчина вполне может осилить такую порцию.

Wood, конечно, имеет тип FLOAT. А Axe – навряд ли. А для Submarine этот вопрос находится в стадии обсуждения.

Glass обычно INT, но если применить к нему оператор BREAK, то навряд ли оно (он) останется целой(лым).

Skirt лучше всего SHORT (впрочем, вечером можно и LONG). А вот строковая константа (разговор двух женщин) почти всегда LONG а не SHORT.

Если женщина замужем, но на курорте она одна, то Husband для нее понятие VIRTUAL, однако дома, он, конечно, REAL.

Многие женщины хотели бы иметь CHAR (приходящую уборщицу), но чаще всего это остается UNSIGNED мечтой и пахать на кухне и на уборке приходится самой.

Charge может быть STATIC, а вот CURRENT (электрический) – по определению нет.

Особый тип переменной – LOGICAL. Хотя она принимает всего два значения TRUE и FALSE, это не значит, что на основании ее значения можно принимать какие-либо действия. Если MONEY is EMPTY, это еще не значит, что купить новую шляпку невозможно (особенно не советуем высказываться об умственных способностях своей жены, которая все же сделала это).

Примечание: в Male C+ и некоторых диалектах C для решения этой проблемы вводятся дополнительные значения этой переменной, типа ALMOST.TRUE или BETWEEN.TRUE.FALSE. Мы считаем, что в этом нет необходимости, т. к. не решается главная проблема: выбор. Если ваш муж возвращается очень поздно, в подпитии, странно пахнет духами и при этом говорит, что задержался на работе, это может хоть ALMOST.TRUE, хоть ALMOST.FALSE, все равно ничего, кроме скалки, не поможет. Через три месяца после вашей женитьбы жена может принести вам чернокожего младенца. Если при этом она убеждает вас, что ни с кем, кроме вас, последний год в близких отношениях не была, ваша LOVE к ней может заставить считать это и за BETWEEN.TRUE.FALSE и даже за TRUE. Однако вы, вероятней всего, будете единственным в этом убеждении.

2.2. Наборы переменных

Наборы переменных – группа переменных, связанных общими свойствами. К примеру, массив Furniture[] содержит набор мебели, а составная переменна AgeofWomen – возраст женщины. INT LOVE [SEX, Flirt, LOVE] очевидно обозначает набор состояний любви.

3. Операции присваивания

Операции присваивания вообще одни из самых популярных у нас операций. Этим занимаются все, начиная с ваших детей и кончая государством.

Операции присваивания для переменных в общем такие же, как и в обычном C, кроме некоторых неважных случаев для упрощения понимания программ. Примеры:

MONEY = $100то же самое, что MONEY is $100

IF (FOUND)то же самое, что FOUND

STATE is RULEZто же самое, что RULEZ

4. Цикл DO

По замыслу создателей языка, должен быть самым употребительным оператором. Действительно, разве всех нас не учили в детстве, что единственный путь к известности и достатку – труд? Однако многие из нас выросли и нашли разные пути к достатку и без утомительных циклов DO. К примеру, молодая девушка пишет в газеты бесплатных объявлений: «18 лет, обаятельная-привлекательная 90-60-90, без специальных навыков, рассмотрю предложения от $500». Кстати, разберем это объявление на Male C и попробуем сделать выводы.

MONEY is EMPTY;

SEEK (WORK); IF (MONEY $500) BREAK; /*Облом*/

DO {

SEX;

WHILE (HEALTH is SO-SO); }

Is STATE GOOD?

Молодая-привлекательная без особых навыков, но с запросами от $500 может получить только определенную работу, причем весьма интенсивно. При этом, правда, ответ на последний оператор программы остается открытым. Кое-кому нравиться быть «секретуткой».

5. Особые операторы

Смысл особых операторов можно понять из их перевода. Нет смысла перечислять их все, т. к. список существенно зависит от реализации языка. Однако мы разъясним смысл некоторых, используемых в этом руководстве.

SEEK() – поиск. В скобках указывается переменная, по которой ведется поиск. SEEK (Husband) и SEEK (Lover) далеко не одно и то же, хотя, конечно, каждая женщина надеется, что ее муж всегда будет хорошим любовником, а ее любовник наконец разведется с женой и жениться на ней.

FOUND () – найдено! Что найдено, смотрите в скобках. Следующий пример иллюстрирует хорошо известный факт, что искать черную кошку в темной комнате – безнадежное занятие.

DOUBLE Room = Cat = Black;

SEEK (Cat); FOUND (EMPTY);

6. Оператор RETURN

Все возвращается на круги своя. Таким образом, RETURN непосредственно связан с операторами циклов. Пример:

INT Age;

IF (Age > 50) IF (WORK is GOOD !! Alcohol is EMPTY) HEALTH is GOOD;

ELSE HEALTH is BAD;

Age!= RETURN;

DIE;

END;

Конечно, после 50 здоровье уже не то, особенно если вы злоупотребляли. С другой стороны, «Кто не курит и не пьет, тот здоровенький помрёт» – годы не возвратишь.

7. Оператор CONTINUE

Большей частью опять же используется в циклах. Рассмотрим пример:

INT Age;

INT Man;

INT Tired is NO;

IF (Age of Women > 30)

DO { SEX; IF (Man is Tired) { SUX; LOVE is NO;

BREAK;}

CONTINUE; }

Если женщине за тридцать и ее мужу где столько же или больше, то для него начинаются трудные времена. Если он будет постоянно ссылаться на усталость, то женщину ждет облом, неудовлетворенность в любви и вообще SUX. А если не будет, но вы полагаете, что будет RULEZ? А вот и нет. Есть только продолжение, продолжение и продолжение.

8. Оператор SWITCH

Переключаться в жизни необходимо постоянно. И вынуждено, и просто потому, отдых необходим. Следующий пример иллюстрирует тот простой факт, что отдых – смена деятельности.

DOUBLE Relax;

DO {WORK; WHILE (HEALTH is SO-SO)}

SWITCH (MONEY) { CASE ($1000): СANARY; CASE ($500): RelaxHouse;

CASE ($10): BEER;}

HEALTH is GOOD;

Вопрос, как подействуют Канары, Дом Отдыха или пиво на здоровье конкретного индивида, остается открытым. Мы надеемся, что оно улучшиться (даже от пива).

9. Оператор BREAK

BREAK – оператор аварийного выхода, чаще всего в негативном смысле (облом). Разберем пример:

CHAR WORK is Empty;

SEEK (WORK);

FOUND;

SWITCH (MONEY) { CASE ($10/Month): BREAK; CASE ($100/Month):

BREAK;

CASE ($1000/Month): RULEZ; }

Результат поисков работы может быть разным. Если зарплата меньше $1000 в месяц – SUX и BREAK (т. е. облом). Еще пример:

INT Glass;

IF (SUX) { DO Glass BREAK; }

RULEZ;

Рецепт улучшения настроения – битье посуды совершенно непонятен мужчинам. Однако, представьте, что на месте Glass (бокала) могли бы оказаться вы…

10. Оператор GOTO

GOTO – оператор языка, которым пользователи Male C обмениваются с друг другом. Очень удобно: ваш шеф просит вас принести квартальный отчет, а вы посылаете его в $%# до переполнения его стека терпения. Другой случай: даже если вы очень торопитесь, советуем все же воспользоваться переходом, а не бежать сломя голову прямо через дорогу.

В новых веяниях (Male C++) считается, что этот оператор лишний. Однако разберем пример:

#DEFINE HOUSEKEEPING

#INCLUDE WASHING MACHINE

MAIN ()

{ FLOAT Thing is Dirty;

WHILE (Thing) { Wash;BAD; GOTO HELL;}

HELL: Shop !! Barbeshop !! Love-story reading; }

Понятно, что домашняя работа (в частности, стирка) бесконечна, и число грязных вещей (Thing) никогда не кончится. Поэтому необходимо использовать оператор безусловного перехода, которое в данном случае посылает эту работу в HELL. Когда его использовать, зависит от вашего настроения, однако если вы не хотите BAD с вашим мужчиной, старайтесь им не злоупотреблять.

Примечание: некоторые скажут, что в написанном примере можно было воспользоваться оператором BREAK. И что? Вы остановили работу, а не послали ее к черту и вам придется рано или поздно ее продолжить, причем наверняка переменная THING существенно увеличится.

Некоторые могут заметить странное определение метки «черта». Так ведь к черту посылается стирка, а вместо нее предлагается или поход по магазинам, или парикмахерская, или просто чтение любовных романов.

Еще один пример иллюстрирует тот факт, что женщина любит ушами:

CHAR Ask «Do you love me?»;

Neverending:

IF (Ask is 'Yes') GOTO Neverending;

11. Условные операторы

Не случайно этот раздел мы отнесли ближе к концу. Смысл этого оператора слишком очевиден: жизнь полна компромиссов и выполнение ваших желаний постоянно наталкивается на массу условий. Надеемся, что наш язык поможет вам в решении ваших проблем. В следующем пункте мы предоставим вам несколько программ для самостоятельного изучения.

12. Примеры1. Кандидат на брак

#UNDEFINE MAN

#INCLUDE ALL MAIN (Target is LOVE);

LONG CHAR Why =

«Зачем вы девушки, NICE LOVE, неCONST у них LOVE»;

INT MAN [Boss, Friend, Nice …]; INT LOVE [SEX, Flirt, LOVE];

SEEK (LOVE);

FOUND MAN;

IF (Man[Boss]) FOUND SEX;

IF (Man[Friend]) FOUND Flirt;

IF (Man[Nice]) DO Why;

ELSE New SEEK;

Примечание: могут сказать, а как же все же найти свою любовь. Ну, дорогие дамы, если вы считаете, что это задачу за вас смогут решить машины…

2. Муж вернулся из командировки…

INT Lover is IN FRIDGE;

INT Husband is FOOL;

LONG CHAR Kill (Lover must die!);

INT Furniture[Dresser, Bed, …];

RETURN (Husband); Husband; SEEK (Lover);

IF (Furniture[Any]) FOUND { SAY Kill; SUX; }

ELSE RULEZ;

Муж, конечно, успокоится, не найдя любовника. Но что будет с любовником, который спрятался в холодильнике? И вправду удовольствия познаются через страдания.

13. ЗадачиПреамбула

Как вы уже поняли, Male C – универсальный язык программирования, посредством которого можно решать обширный круг повседневных задач. Единственный путь изучения языка – говорить на нем. Предлагаем несколько задач для самостоятельного решения:

1. Классический треугольник

Вы любите его, он любит другую, а она любит вас. Варианты решений:

вы добиваетесь его взаимности;

вы добиваетесь ее взаимности;

вы становитесь их взаимности;

вы отвечаете взаимностью своей собаке.

Примечание: могут возразить, что классический треугольник выглядит по-другому. Однако мы полагаем, что если двое влюблены в одного, то это не треугольник, а угол:

2. Вариант без соперницы

Вы любите его, а он любит себя. Попробуйте сами найти все решения.

3. Вас шеф активно добивается вас

Варианты решения:

· вы отвергаете его домогания и теряете работу;

· вы уступаете ему и теряете свое достоинство;

· вы знакомите его со своим другом-бандитом и он теряет свое достоинство.

4. Ваш муж постоянно ходит налево

Варианты решения:

· уехать к маме;

· скалкой своротить ему скулу так, чтобы он мог смотреть только направо;

· самой сходить налево.

5. Другие задачи

Множество других проблем вы сможете найти в известной книге, классике нашего дела «1001 проблема про это» а также в журнале «Все проблемы, которые вы хотели решить, но не имели для этого подходящего инструмента».

Примечание: Проблемы Male C– можно найти и в популярной газете «C- pid Info» и в передаче «Я C- ама». В передаче «LOVE C 1 взгляда» обсуждаются проблемы языка LOVE C версии 1. В журнале «5 How вы найдете более сложные задачи из языка версии 5.

14. Послесловие

В следующей книге мы разберем особенности реализации Male C+, Male C++, и Male C#. Мы не будем обсуждать проблемы любой реализации языка C– по понятным морально-этическим причинам.


© Палёк, сентябрь 1997 г

Сценки

Кроссворд

Идея и костяк С. Васнецова. Доработка – Палек.

Исполняют два актера – первый и второй


П: /входит с журналом/ Кроссворд. Отдых из семи букв.

В: Отпуск.

П: Отпуск из шести букв. Не хватает.

В: Отпуска всегда не хватает. Может путевка?

П: Путевка – хватает.

В: Хватает тем, кто хватает. Парторгам в основном.

П: Я серьезно. Смотри – отдых по вертикали – путевка.

В: С путевкой в профилактории можно отдохнуть и по горизонтали, а вот ты без путевки попробуй. Процедуры от декана принимаешь по вертикали, в столовой стоишь за комплексом стоишь по вертикали, после ночной подготовки на экзамене спишь тоже по вертикали.

П: Может «клиника»? Семь букв и можно отдыхать по горизонтали?

В: В нашей клинике что ли? Один врач там сказал: «Шума нет, инфекций тоже, еще бы больных не было».

П: Может быть «столовая»?

В: Какой же это отдых? Съешь комплекс и будешь смотреть кошмарные сны. Тем более, восемь букв.

П: Может быть «каникул»?

В: Так каникулы же, а не «каникул». Их невозможно сократить. Если, конечно, не послать I курс на картошку. Стоп, а какая там первая буква?

П:«А».

В: Что же ты раньше не сказал. Антракт. Десять минут.


© Палёк, 1985 г

Задача

– Ну, что, решили?

– Я так думаю, профессор, решать можно только численно…

– Естественно…

– На ЭВМ…

– Ну, молодой человек, я в ваши годы такие задачи решали в уме.

– Ну, профессор, в Ваши годы не было современных методов вычисления. Но я попробую, на пальцах, так сказать, по порядку величины…

/Через десять минут/

– Ну, как?

– Сейчас… Только просуммирую. Ага. 10-5

– !

– Опять калькулятор барахлит. Не дает знак экспоненты. 105

– Ого!

– Ой, я в последней итерации два порядка потерял. 103

– Да… И чему вас только учили четыре года.

– Но Вы подкинули задачку. Я просто метода для ее решения не знаю!

– А вы в лоб, дорогой, в лоб.

– В лоб будешь до диплома считать.

/Через десять минут/

– Решил!

– Сколько?

– /осторожно/ Я думаю, за второй порядок не выходит.

– Да?

– Ну вот, опять не в ту сторону округлил. Сейчас… Добью этот дифур… 5.43!

– И даже до сотых?

– Вы правы. Не с той стороны прочитал. 3.45.

– А после запятой цифра значащая?

– Округленно 4.

– Ну, вот видите! Умеете, когда хотите. А говорите – не знаю, не хочу. Давайте зачетку…

И они ушли, оставив листок с условием задачи: 2х2=?


© Палёк, 1985 г

Мозголомка

Трое актеров, все – парни.

Реквизиты: стол, два стула, две таблички – красная и желтая, небольшой ящик.

Время ~7 мин.

На сцене на переднем плане стол. За ним напротив друг друга сидят игроки (И) – один с красной табличкой (К), другой – с желтой. (Ж) В глубине стоит трибуна. Выходит ведущий (В).


В: Разыгрывается одно очко. (ставит на трибуну небольшой ящик, открывает) Вижу будильник и два проводка: желтый и красный. (достает из кармана кусачки) Какой резать? Осталось одна минута.

К.Игрок поднимает красную табличку.

В: Попробуем красный (перекусывает красный провод). Осталось десять секунд.

Ж. игрок поднимает желтую табличку.

В: Попробуем желтый. Не угадал. Вопрос переходит зрителям. (бросает ящик за спину, слышен взрыв)

В:(читает) «Когда я кончаю, я громко пукаю. К чему бы это?» Ах, извините, это не ПРО ЭТО.

В:(достает из кармана очки): Сейчас мы узнаем, чьи это очки.

Игроки за красным и желтым столом одновременно поднимают таблички.

В: Не угадали. Это очки – мои. (одевает их)

В: Вопрос от нашего американского спонсора. Где находится ядерная кнопка страны?

Игроки одновременно: Не знаем!!!

В: Ответ совершенно правильный.

В:(некоторое время шарит по карманам в поисках бумажки, достает) Купить хлеба и отнести белье в прачечную… Извините, не то.

В: Разыгрывается очко. Кто отвечает за порядок на судне?

К: Отвечает Петр Гви…

В: Неверно!

Ж: Отвечает капитан команды…

В: Правильно! Отвечает капитан.

В: Разыгрывается ОЧКО! (из-за кулис к В подходит типичный грузин, что-то говорит ему на ухо, сует пачку денег) – ОЧКО продано!

В: Разыгрывается пять баллов по геометрии.

К: 100!

Ж: 1000!

К: 10000!

В: Продано!

В:(достает из кармана лифчик) Чье это?

Игроки молчат.

В: Правильно. Это не наше. Это – из «Империи страсти».

В: Нас спрашивает зритель Курицин. (читает) «По совету рекламы я помыл одно яйцо, а другое намазал «Блендомедом». После того, как я выдержал оба яйца в уксусе сутки, я… стукнул по ним молотком».

К. игрок все это время жестами комментировал слова В. На последних словах он крякнул и сказал: «Больно!»

Ж: Я думаю, его яйца после этого наверняка потеряли весь свой кальций.

В: Не верно. Просто после этого они стали квадратными.

В:(делает вид, что берет телефон) На прямом проводе телезритель Ламеров: «После того, как я залез на порносервер, у меня все зависло…»

К: Я думаю, здесь могут помочь только три пальца (показывает, как будто последовательно нажимает Ctrl Alt Del)

Ж: Я думаю, надо поменять «маму» (показывает, как будто вытаскивает из компьютера плату и выбрасывает ее)

В: Не верно. Дорогой зритель Ламеров! Наберите, пожалуйста команду «format c: /y». Надеюсь, после этого вы не будете беспокоить нас по пустякам.

В: Что такое прерванный половой акт?

К: Кажется, это контрацепция…

Ж: Может быть, это перекур у паркетчика?

В: Ладно, зачет. Вообще-то это когда приходит муж, а вы – на полу. Таким образом, вы побеждаете со счетом 2:1. Наша следующая игра будет проходить в Думе, где мы будем отвечать на вопросы избирателей.


© Палёк, 1998 г

Про «ЭТО»

Трое актеров – трое парней, эксперт (Э) и женщина (Ж) – голоса из-за сцены.

Реквизит – два стула.

Время ~7 мин.


В: Сегодня мы поговорим о компьютерных играх. Если вы думаете, что это – не тема нашей передачи, послушайте гостей. Итак, у нас в студии двое мужчин. Знакомьтесь: Костя (К). Меняет предмет своей страсти несколько раз в год. Игорь (И). Не меняет предмет своей страсти с самого первого знакомства.

В: Почему вы расстались с Ней?

К: Она меня перестала удовлетворять. Я с Ней уже год, а поколения – сами знаете с какой скоростью меняются.

В: И в чем это выражалось?

К: Да ломалась Она, висла. Думаете приятно копаться в Ее внутренностях?

В: К кому вы обращались за помощью?

К: К друзьям, конечно. Но они говорят: «Тебе не пристало иметь такую старуху. С такой трахаться – себя не уважать». Ну, я заказал в одной конторе – знаете, их сейчас много развелось, с доставкой на дом. Стройненькая такая, яркая.

В: И как?

К: Я удивился, у Нее две дырки не снизу, как обычно, а сбоку. Но впендюрил без проблем. Ночь прошла просто отлично. Наигрался и сейчас полностью удовлетворен.

В: Что скажет наш эксперт?

Э: Костя понимает, что его увлечение все должно быть прекрасно. Он не сунет в нее что попало. А вообще, мужчинам подавай яркую картинку и классную упаковку…

Ж: Это типичное потребительство. Вы послушайте, как он говорит: «сунуть в дырку, с доставкой на дом».

В: Обратимся к Игорю.

И: Я маньяк. Я занимаюсь этим на работе, дома, даже в транспорте.

В: Даже в транспорте?! Как же люди на это смотрят?

И: Сначала косились, потом привыкли. Как только я беру его в руки, ничего не могу с собой сделать.

В: И как это давно у вас?

И: С тех пор, как это начало свободно продаваться. Сначала мы делали это с одноклассниками, а потом я начал заниматься этим один.

В: А где вы это берете?

И: Да есть же специальные места – сами знаете (жмется). С друзьями можно поменяться.

В: А вы не пробовали этим заниматься не в одиночку, а с партнером?

И: Пробовал, но неудобно. Я обычно быстро кончаю, а партнеру реакции не хватает. Неинтересно.

В: Что на это скажет наш эксперт?

Э: Я сам, бывало в транспорте – суну руку в карман, смотрю – есть… или попрошу у кого-нибудь… Конечно, немного неудобно, но особого криминала не вижу.

Ж: Вот-вот. У меня вон тоже – с работы придет, разденется, на диван и занимается этим. Какая там любовь! Или вообще, с детьми этим занимается…

/И и К уходят/

В: Итак секс у нас есть. Везде. В следующей передаче мы приглашаем женщин поговорить о яйцерезках, насадках, резинках, шкуродерках и прочих наших помощниках на кухне. В общем, смотрите «Пальчики обрежешь».


© Палёк, 1998 г


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Следующая
  • 0 Оценок: 0

Правообладателям!

Это произведение, предположительно, находится в статусе 'public domain'. Если это не так и размещение материала нарушает чьи-либо права, то сообщите нам об этом.


Популярные книги за неделю


Рекомендации