Главное меню |
---|
поиск по сайту |
---|
|
Эстетическая функция |
Эстетическая функция
Петру Советову
Идея эстетической функции принадлежит моему другу, программисту и исследователю Петру Советову. Однако, все совпадения с реально живущими персонажами, которые вы можете найти в этом рассказе – случайны. Также автор не несёт никакой ответственности за возможный моральный ущерб, полученный от прочтения рассказа. This is freeware, use it on ye' own risk! ![]() Молодой программист теперь проводил дни в труде и радостном предчувствии большого свершения. Былые апатия и неверие отступили под напором юного пламенного сердца идеалиста. Ведь вся жизнь его могла в корне измениться в случае удачного окончания задуманного проекта. Впрочем, что есть удачное окончание?
Программист наш не был обычным программистом в традиционной визуализации этого слова: небритый, всклокоченные волосы, красные круги под глазами от постоянного недосыпа. Нет–нет. Всё это никоим образом не описывает нашего героя. Круги у нашего программиста скорее были там, где соединяется неодушевлённая материя с одушевлённой, – то были следы мучений, неминуемо испытываемых каждым, кто хоть раз вставал на путь поиска истины и света. Не программированием единым жил наш программист: он увлекался музыкой, литературой, историей, некоторыми науками. Он вёл разработки в области программирования, вплотную граничащие с научными, но в душе мечтал о завоевании горизонтов совсем в другой области. В области духа. Надо сказать, что программист держал дома много музыкальных инструментов, и даже немного владел игрой на них в разной степени. Больше всего он любил пианино, с помощью которого мечтал, словно великие мастера прошлого и его учителя, вознестись на вершины прекрасного, осязать древнюю, подноготную красоту мира и познать себя. Долгие годы он лелеял мечту создать такой шедевр, который затмит всю ничтожную современную жизнь и поставит его автора в один ряд с великими людьми прошлых веков – писателями и композиторами.
Шло время, уровень программистского мастерства повышался, удавались даже кое–какие околонаучные концепции и разработки. Но горячее, не остывающее желание сотворить что–то в области духа так и не находило лазейку, чтобы перетечь из духовного в материальное, воплотившись вдруг в великом произведении искусства, которое мелькнуло бы ярчайшим метеором на тусклом небосклоне века пожравшего самоё себя, – века абсолютного потребления, вездесущих мобильных телефонов и пылесосов с выходом в интернет. О, да!.. Он пробовал создавать, часами перебирая струны или клавиши, но все его попытки были тщетны. В лучшем случае это была какая-нибудь вариация на известную классическую тему. Поэтому ничего удивительного в том, что программист наш впал в коллапс через несколько лет бесплодных попыток приблизиться к мастерам прошлого; коллапс вызвал нарушение работы блока логики и общую дестабилизацию работы систем биологически-механического организма. Так и прожил он несколько лет, словно зацикленная программа, нацеленная на создание великих произведений, но плохо отлаженная и содержащая ошибки, а потому не имеющая возможности выполнить поставленную перед ней задачу. Программист понимал, что программу, которая не может выполнить её основную функцию, следует либо исправить, либо вообще стереть, переписав заново. И вдруг прямо среди этих жутковатых мыслей пришло решение. Он даже подпрыгнул на месте от неожиданности. Он сможет решить поставленную перед собой задачу, если объединит усилия в разных областях. А результирующая выйдет в одной определённой области. Той, о которой он мечтал больше всего. Блок логики вдруг завёлся как старый мотор: сначала затарахтел, делая холостые обороты, а потом всё чище и быстрее; и вот разум проснулся, и перед программистом предстала гигантская схема будущей программы, которая снизойдёт не с неба, а из рук его, и будет тем самым мессией, персональным спасителем для него. Кто-то вручную завёл его, вставив в разъём RS-232 гнутый лом – словно советской полуторке в начале прошлого века. Вот она, гениальная соль его соломонова решения: будущую великую симфонию должен был написать компьютер, а точнее программа, которую наш программист взялся создавать тут же. Блок-схема была такой: в программу заправлялось большое количество классических произведений, шедевров разных эпох, начиная с раннего ренессанса и заканчивая 19-м веком. Произведения поставлялись в программу в нотной форме, следовательно, нашему герою оставалось лишь научить программу читать ноты и проигрывать целые полифонические произведения. Всё это наш программист с лёгкостью сделал за один вечер, и даже быстрее... После этого он крепко задумался, потому как ядро программы ещё только предстояло написать. На блок-схеме все стрелочки сходились к этому ядру, обозначенному кружком с надписью «ядро». Из кружка вела одна победная стрелка с надписью «симфония на выход», это был конец схемы, вожделенный результат многих лет страданий и поисков. «Ведь нужно же как-то использовать компьютеры, раз они нынче занимают такое место в жизни. Если я его выброшу, ясно же, что от этого я не напишу сразу великую симфонию. И ни сразу, ни потом. Тут другое. Это не то, что я думаю». «Так что же это за ядро?» – думал он, – «кто или что может синтезировать новое произведение из тысяч других, написанных ранее великими?». Первой на ум пришла функция случайной выборки. «Явная глупость» – сразу решил программист. «Таким образом можно получить только хаос. А у нас скорее наоборот задача – получить из хаоса осмысленное великое произведение. Значит в наших планах – уменьшение энтропии». «Нет, это бред какой–то. Энтропия, случайная выборка... как можно применять эти математические категории к произведениям искусства?». В ту ночь программист спал плохо, если не сказать спал едва ли. Всю ночь не смыкал он глаз, в голове громоздились ёмкие конструкции и построения, теоремы Ферма и быстрые преобразования Фурье... К утру он погрузился в беспокойное забытье, в котором огромные чёрные ноты, перемешанные методом рассеивания и гаммирования преследовали его на двадцати четырёх конвейере микропроцессора, и он постоянно норовил свалиться с этого конвейера в пропасть, так и не достигнув машинного отделения. Цеплялся руками за гусеницы транспортера, перелезал, прятался от грозных летающих нот и вдруг сорвался и полетел вниз, в руке осталась металлическая заклёпка гусеницы, которую он оторвал при падении. Проснулся он от удара об пол, было не больно, программист широко раскрыл глаза и тяжело дышал. Через минуту он понял, что с неистовой силой сжимает в руке мышь, которую он сдёрнул со стола во сне. Мышь была металлической и, к счастью, не повредилась. Он разжал руку и отложил её в сторону. И вдруг его осенило: «дурак», – вскричал он, – «ну конечно! к черту математические преобразования! мы же имеем дело с музыкой! Решать всё будет Эстетическая Функция!». На первый взгляд, это была всего лишь смена названия – от безымянного к осмысленному названию главной функции программы. Но программисты, долго мучавшиеся подобным образом над чем-то неразрешимым знают, как много сил и уверенности придаёт вдруг вот такая находка. Чуть ли не пол дела! Ведь шаг вперед сделан!. Так и наш программист получил вдруг, как ему показалось, нужный вектор. Он быстро сделал себе кофе, чтобы согнать сон, который, впрочем, уже сам уходил. Голова быстро прояснялась: ведь появилось поле для деятельности. «Итак, что же такое эстетическая функция», – думал он. «Как она будет работать? Что же может стать ядром этого, на первый взгляд невозможного решения?». Первым пришло в голову абсолютно абсурдное в данной ситуации решение – использовать, опять же, случайную выборку. «Загрузив в программу большое количество произведений, и использовав свои наработки в генераторах простых мелодий, я смогу получить… Максимум – ладовые вариации на беспорядочно надерганные кусочки из всех произведений, да ещё перемешанные. Хотя, ведь решил же недавно мой друг программист одну задачу с помощью случайной выборки. Решил. И ведь там тоже сперва казалось, что этот метод не сможет себя оправдать. Но у него получилось! Однако, уровень его задачи был совсем другим!».
И всё-таки, он решил попробовать. Проработав до поздней ночи над алгоритмом, он получил, наконец, приемлемое решение. Сил на проверку уже не оставалось. Да и не хотелось никаких промежуточных результатов. Его мог устроить только один результат – гениальное произведение всех времен и народов. Ради этого он готов был подождать до утра. Загрузив в программу тысячу отобранных заранее произведений, он выдохнул, зажмурился и нажал на кнопку «получить мою симфонию». Через несколько секунд индикатор выполнения работы показал время, нужное для просчетов: 8 часов 47 минут. Программист откинулся на спинку кресла и расплылся в довольной улыбке. «Ну вот. Вот что значит сила программистской мысли. Чего нельзя достичь силами душевными, вполне можно добиться объединённой мощью всех компьютеров земли! Ха–ха! Но это на случай, если мощности одного моего не хватит. А пока же мы получим лучшее произведение хотя бы для нашего времени – для этого достаточно подождать до утра. Бог мой!». Усталый и довольный, программист выключил монитор и лёг в кровать, у изголовья которой стоял на столе его компьютер. Он выключил свет и лежал с закрытыми глазами, прислушиваясь к мерной работе жёсткого диска и вентиляторов. «Обращение к диску происходит равномерно на всём протяжении вычислений, если интенсивность его возрастёт, я сразу проснусь и посмотрю в чём дело», – решил он и провалился в сладкие грёзы о новой великой симфонии, о которой он уже утром раструбит всем многочисленным знакомым в Интернете. И особенно согревала мысль о том, как будут завидовать два его друга музыканта. В ту ночь он спал превосходно и до утра ни разу не просыпался. Открыв глаза, он первым делом взглянув на часы и тут же понял, что вычисления уже должны быть закончены. Он опасливо, украдкой посмотрел на свой компьютер. Тот всё также мерно тихонько гудел. Жёсткий диск больше не шуршал, что говорило о его простое. «Всё отлично, значит, работа завершена!». И он, преисполнившись радости, решил подготовиться к встрече со своей симфонией. Переборов желание немедленно включить монитор, он проследовал в ванну, умылся, постоял под душем, затем побрился, надушился и надел выглаженную белую рубашку. Затягивая галстук у себя на шее, он с сияющим видом включил монитор… и челюсть его отвалилась. Он застыл в изумлении, смешанным с чувством, которое вызывает у людей, годами безучастно смотрящих сюжеты о катастрофах и стихийных бедствиях по телевизору, а потом вдруг самих попадающих в такие ситуации, – отрешённые слова: «как это вообще могло случиться со МНОЙ?». Неровные края так и не завязанного галстука свисали с его шеи. Лицо его исказилось в гримасе боли. Во всю великолепную безупречную плоскость двадцати одно дюймового монитора сияла надпись: «Программа выполнила недопустимую операцию и будет закрыта. Если ошибка будет повторяться, обратитесь к системному администратору». «К кому, кому?...» – со стоном вырвались слова несчастного. Мозг не функционировал, все системы работали в режиме полного простоя. Спустя несколько тысяч оборотов вентилятора, мозг провентилировал резервный канал и методом случайной выборки копнул из глубин памяти телефон техподдержки провайдера. «Обратитесь к системному администратору… Обратитесь к системному администратору…» – повторялось в мозгу. Наконец, программист вышел из ступора и нажал «ок». На экран вылезла табличка с предложением отправить в Microsoft отчёт об ошибках. «Да чтоб вас всех!» – заорал он и чуть не нажал рукой на «reset». Но потом понял, что лучше сначала осмотреть логи программы. «Логи? Минутку. Я же решил отказаться от логов! Ох…». Да, он был так уверен в своих силах, так фанатично предан своей идее, что намеренно не предусмотрел ведение лога программой, потому что и мысли не мог допустить о какой либо ошибке. Но тут ноги программиста подкосились и он повалился в кресло. Включив стоящий рядом вентилятор, он некоторое время работал на холостых оборотах. Через пять минут пришло решение позвонить на работу и сообщить о том, что он подхватил грипп и очень болен. «Если я не доделаю программу сейчас, всё кончено! Я не вынесу этого. Столько лет прожито впустую!». Позвонив на работу и сделав себе кофе, он несколько успокоился. Нужно было брать себя в руки и искать причину ошибки. На всякий случай он сразу проверил, не выдала ли программа какой-то, пусть и половинчатый результат. Но выходной файл был пуст, как и в начале работы. Предусматривалась только запись конечного результата после обработки всех данных. «Что ж, неудача, но это всего лишь значит, что впереди – большая работа».
Весь тот день он работал, почти не покидая рабочего места, обещающего в случае удачи стать станком новых великих симфоний, которые навсегда изменят лик мира. Вдохновение вновь вернулось к нему. Галстук так и болтался у него на шее, и приготовленные для одевания на работу брюки всё ещё лежали на диване. Но программист ни на что не отвлекался, в тот день он даже не обедал, лишь один раз сделав себе кофе, чтобы не заснуть от усталости. Наконец он оторвался от работы и посмотрел в окно – там было уже темно. Часы на мониторе показывали начало следующего дня. «Сегодня я даже не был на своём любимом форуме. И в блогах. И в ЖЖ забыл написать подружке. Ну, ничего, завтра утром я покажу им всем, кто лучший программист на свете и самый гениальный композитор всех времён!», – и он снова, как и прошлым вечером нажал на кнопку, которая, однако, суеверно была переименована в несколько более скромное «старт». Начался отсчёт времени. Допивая кофе, он ещё некоторое время сидел у монитора и наблюдал. Программа снова показала время предстоящей работы: около девяти часов. Теперь программист снова улыбался – на сей раз ошибки быть не могло. За его плечами были разработки проектов искусственного интеллекта, генетического и нейросетевого программирования, компиляторы и многое, многое другое. Неужели он не справится с какой-то там простой функцией, вся задача которой сводится к оценке сгенерированных программой мелодий? Это была мелкая досадная осечка, читай – почти просто опечатка в синтаксисе «СИ ++», пропущенная компилятором в виду возможности и такого написания, но приведшая к необратимым последствиям. Теперь был алгоритм полностью проверен, и всё встало на места. Оставалось только вновь дождаться рассвета нового дня и новой эры композиторов. Он лёг спать почти с хорошим настроением, но что-то всё-таки тревожило его и не давало заснуть глубоким умиротворённым сном человека, достигшего своей цели долгой работой. Он ворочался, прислушиваясь к звукам машины. Они не отличались разнообразием. Под утро, так и не заснув, он подумал – может почитать, скоротать время? «Но нет, тогда я не смогу завтра работать… в случае чего». Помучавшись ещё час, он забылся беспокойным сном. Через пару часов чуткое, привычное к работе машины ухо уловило изменение режима работы винчестера – послышалось долгое шуршание («наверно обращается к файлу подкачки – когда же я докуплю себе пару гигабайт оперативки и перестану мучаться?»), которое закончилось операцией записи на диск. Программист тут же вскочил и подбежал к монитору, включив его. Через пару секунд из чёрной темноты не рождённых пикселей вселенных показалось изображение, которое должно было дать новый виток жизни на земле. Он впился глазами в точку на экране, где в файловом менеджере показывался размер полученного файла с его симфонией. И размер этот теперь не был нулевым! Целых 507 байт! При желании в такой объём можно уложить неплохую многоголосую мелодию. Но никак не симфонию. Он нажал на воспроизведение и тут же заткнул уши: из динамиков лился невообразимый треск, что-то пищало и завывало. Можно было бы, конечно, с натяжкой назвать это симфонией хаоса, если бы это не было такой полнейшей какофонией, какую и представить себе невозможно. Программист тут же удалил файл. Такое бессмысленно было оставлять даже как показатель его работы в процессе долгого и трудного сочинения великой симфонии. Никто не поверит, что из этого шума могло вырасти нечто грандиозное, - а скорее, наоборот, заподозрит неладное. Он снова погрузился в кресло и задумался. «Наверно мой генератор мелодий плохо совместим с закладываемыми произведениями, уберу-ка его. Вместо него нужно будет разработать несколько чётких схем, с помощью которых удастся избежать хотя бы какофонии. Хотя бы…», – он невесело усмехнулся. «Какофонии я и так могу избежать, сочинив что-нибудь вручную», – размышлял он. Посидев ещё некоторое время, он посмотрел в окно, где один за другим безликие прохожие шли на работу, и пошёл делать кофе. «Схемы, схемы… вчера вечером я тоже был уверен, что теперь уж точно – получится. И позавчера. Ладно, прочь сомнения, пора за работу! С неизменным кофе он проследовал к компьютеру и снова взялся за работу. «Мой генератор мелодий несомненно хорош и проверен в деле, но здесь он никак не подходит», – размышлял он, убирая части кода, реализующие этот генератор. «Выборка и перемешивание проходят в штатном режиме, а вот хаос получается в результате его работы, работы генератора». После нескольких часов работы код был переписан и даже кое-где оптимизирован, что, возможно позволяло выиграть полчаса просчёта или более. Схемы решено было выполнить такими, чтобы они гарантированно давали некую мелодию на выходе (вместо сегодняшней какофонии). Оставшаяся часть дня была занята на совершенствование эстетической функции, – той самой, которая должна отвечать за художественную ценность создаваемого. В конце дня, умаявшись, и готовясь нажать на кнопку, которая нынче называлась “go to hell!”, программист подводил итоги работы: «убран старый генератор, созданы новые схемы, доработана эстетическая функция…ммм…. Что ещё? Создал ведение лога, теперь ошибка не ускользнёт, и ещё, введено немедленное проигрывание после создания произведения. Если работа будет закончена раньше утра, я сразу же об том узнаю!». Он спокойно нажал зловещую кнопку “go to hell!” и без единой мысли лёг спать – было уже много времени. Но сон его был не так долог, как того требовал измотанный организм. На заре сквозь сон ему почудилось, что во дворе запели петухи. «В деревне обычно в 4 утра начинают… в деревне?! Но я же в Москве! Он широко открыл глаза. И сообразил, что это были не петухи, а кто-то громко бацал во дворе блатными аккордами на дешёвой расстроенной шестиструнке. Он приподнялся на локтях и посмотрел во двор. Там никого не было. С ужасом поняв, наконец, что звук льётся из динамиков компьютера, он мгновенно проснулся. Сон выветрился словно после десяти чашек кофе, а моральное состояние упало до минусовой отметки: эту «мелодию» сочинила его программа! Это был настоящий трёх аккордовый «блатняк», только не хватало хриплого пяьного голоса, поющего о прелестях тюремной жизни и прочей шансонной «романтике». Руки программиста дрогнули, губы дёрнулись. Он был на грани нервного срыва. Продолжение дальнейшей работы было невозможно, так как это был полный провал всей затеи. «Не может быть, этого просто не может быть. Всё погибло». Выключив ненавистную музыку и сразу удалив её, он сидел теперь в бездвижном немом оцепенении, бездумно наблюдая за включенной зачем-то заставкой Windows. Заставка показывала один и тот же крайне информативный текст в разных точках экрана – версию операционной системы. «Десятилетия упорного труда лучших умов, сотни классических трудов по программированию… и что же – всё это зря? Современные программы предсказывают поведение частиц в ядерном реакторе, рассчитывают модели движения звёзд для целых галактик, люди вплотную подошли к созданию искусственного интеллекта, а тут… Погоди-ка. Искусственный интеллект. Если бы только можно было… Но ведь это ещё никто не реализовал. Но у меня есть свои разработки, которые я забросил какое-то время назад. Ничего, конечно, не получилось, но в зародышевом состоянии, в общем-то давало какие-то результаты. А вдруг?». Тут программист оживился, и даже забыв про кофе, полез искать свои работы в этой области. «Так, вот модуль логики. Вот блок интенсивности восприятия, управление ассоциативной памятью, первичные признаки реакции на событие… где же это? Ага. Нашёл! «Модуль развития чувства прекрасного у машин или любовь к искусству в проекции Искусственного Разума». Искусство, искусственный, да здравствует искусственное искусство, чёрт возьми!.. Конечно, не совсем то, придётся много работать, но попробовать определённо стоит!». Вся внешняя жизнь с того момента перестала существовать для программиста. Три дня и три ночи, проведённые практически без сна и еды, сделали своё дело: программист уже не реагировал на внешние раздражители, не отвечал на звонки, отключил Интернет, не выходил из дома. На столе, заваленном хлебными крошками от немногочисленных бутербродов, съедаемых только для того, чтобы поддержать гаснущее восприятие, в беспорядке громоздились пустые кружки из–под кофе; на клавиатуре виднелись темные подтеки и кусочки пиццы. Сам же молодой гений, всклокоченный, теперь уже с сильными красными кругами под глазами, подбадривал себя мыслью, что осталось немного. Наконец, на закате третьего дня беспрерывной работы, программа была готова. Теперь она могла просчитать пять тысяч произведений и на их основе выдать результат. Эстетическая функция была полностью переписана, и на 80 процентов включала код из разработок «модуля развития чувства прекрасного у машин». Наконец программист был абсолютно, как никогда прежде, уверен в успехе своего предприятия. И мощнейший Баховский слог, и бесконечная трагедия Бетховена, и воздушная поступь Моцарта, героические темы русских композиторов – всё должно было быть в его симфонии. Сил на эмоции не оставалось, но чтобы сделать всё как можно торжественнее, он решил вывести результат в форме партитуры, а не звукового файла. Он сам сядет за пианино и проиграет свою симфонию. За миг до того, как его глаза бессильно захлопнулись, а организм перешёл на режим энергосбережения, он успел нажать безымянную серую кнопку. «Безымянную, потому что так надёжней» – решил он ещё днём.
Наступило утро седьмого дня. За окном не кукарекали более петухи и пьяные компании больше не горланили песен во дворе. Мир был наполнен странной тишиной, той самой, которая, наверное, существовала до прихода в него людей. Программист открыл глаза. Неужели опять «день сурка»? Но нет, он увидел достаточно увесистый файл партитуры, который он открыл в написанном им когда–то нотном редакторе. Слышать музыку в уме, глядя только на ноты он не умел, поэтому поспешил открыть крышку пианино и приготовился играть. Из-под рук его полилась приятная мелодия, не имевшая ничего общего с классической музыкой. Сперва он сыграл с ошибками, не сразу замечая все знаки на партитуре. Потом ещё раз, и с третьего доиграл мелодию до конца. Ощущение было двояким. С одной стороны, было совершенно ясно видно, что это никакая не симфония, с другой же явно слышалась мелодия, а не какофонический шквал звуков, полученных им в предыдущих опытах. Он всё играл, снова и снова. Что же она напоминала, эта сгенерированная мелодия надежды молодого учёного? Он играл её вот уже час подряд, выучив наизусть. Приятный мотив имел развитие, середину и концовку, всё было сделано в общем неплохо. Но гениальной эту мелодию никак нельзя было назвать. Программист прекратил играть и задумался. Что же она напоминает? Музыкально она была нова, но вызывала какое-то знакомое чувство. Несложная мелодия, какие обычно разучивают в начально-средних классах музыкальной школы; под такие приятно что-то рассказывать, или читать прогноз погоды по телевидению, а может смотреть титры в конце фильма… Рассказывать?.. Что-то нехорошее кольнуло сердце программиста. Страшное, завораживающее подозрение родилось вдруг в его возбуждённом уме. Это просто симпатичная обёртка, а главный посыл зарыт где-то внутри, нужно читать между нотами, как Ленин искать молочные буквы между строк! Он стал внимательно всматриваться в значки на партитуре. Обычные ноты и ключи. Вдруг в причудливом сочетании трёх нот ему показалось слово. «Бред!» – подумал он, я схожу с ума. Этим словом было «всё». Что это «всё»? – подумал он. Наверное, это я уже «всё». Пришло на ум чьё-то высказывание, что музыка – это математика и наоборот. Тут решение пришло само собой, он даже вздрогнул он близости разгадки, которая может перевернуть весь мир. Да, он уже писал что-то подобное, надо только найти. Порыв папки на машине и ничего не найдя, он понял, что это не так страшно. Такую программу он напишет быстро, это ведь дело обычной техники. В течение часа соорудил он брутфорсер, основанный на энтропии букв русского языка и поместил в него ноты. Он сидел не шелохнувшись и затаил дыхание. На полу рядом с креслом валялся так и не завязанный галстук. Через пять минут программа выбросила окошко с русским текстом. Программист дёрнулся, боясь заглянуть в эти несколько строк. Он отвернулся от монитора, сделал несколько глубоких вздохов, словно перед нырком в пучины океана и прочитал: «Глупцы двадцать первого столетия! Неужели вы всё ещё думаете, что неодушевленный агрегат может сочинить одушевленную вещь? Мы тут давно уже всё это поняли! Подпись: И.С. Бах.»
«Боже!», прошептал программист. – «Со мной только что говорил Сам». Когда эта мысль приобрела фоновый приоритет, на передний план грозно выдвинулся смысл этих нескольких слов, брошенных в шутливой манере, лёгких как вечная весна, увесистых как грозный набат аккордов из фуги ля-минор, точных, словно Молот Господень. И Молот этот попал в цель: программист содрогнулся всем телом, склонив свои кудри к долу, слезы безудержно текли по толстым очкам, по небритым щекам и, капали на клавиатуру марки «Митцуми классик эргономик». Он прозрел. Август 2007г.
|