                     КАК СДЕЛАТЬ СКАЗКУ
       Программирование ветвящегося рассказа с обрат-
       ной связью и его конструирование на базе прог-
       раммного пакета "Конструктор Сказок"

                  Дуванов А.А., Первин Ю.А.
              Переславль-Залесский, Роботландия


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

1. Постановка задачи.
     В некотором царстве, в некотором государстве  жил  да  был
смелый человек, любитель приключений. Отправился он путешество■
вать. Шел да шел себе по дороге как  вдруг...  дорога  взяла  и
разделилась на три. А на  придорожном  камне  написано:  налево
пойдешь - царство найдешь, направо пойдешь  -  коня  потеряешь,
прямо пойдешь - сам пропадешь. Герой  делает  свой  героический
выбор, а читатель? Читатель идет у него на поводу.  А  что  ему
еще остается делать в обычной линейной истории?
     Давайте сделаем небольшое, но очень интересное  усовершен■
ствование: попробуем сочинять и читать ветвящиеся  сказки.  Под
ветвлением сказки будем понимать ветвление ее сюжета в  зависи■
мости от выбора читателя на каждом узловом "камне". + Если  ли■
нейную сказку можно изобразить в виде последовательности следу■
ющих друг за другом страниц:
      ┌───────┐     ┌───────┐                 ┌───────┐
      │ стр 1 │────>│ стр 2 │────> ....  ────>│ стр n │
      └───────┘     └───────┘                 └───────┘
то рисунок сильно ветвящейся истории может быть похож на  рыбо■
ловную сеть или даже напоминать опрокинутое на стол блюдо  спа■
гетти:
                                  ┌───────┐
                        ┌────────>│ стр 3 │────> ....
                        │         └───────┘
      ┌───────┐     ┌───────┐     ┌───────┐
      │ стр 1 │────>│ стр 2 │────>│ стр 4 │────> ....
      └───────┘     └───────┘     └───────┘
                        │         ┌───────┐
                        └────────>│ стр 5 │────> ....
                                  └───────┘
     Теперь читатель из пассивного потребителя  превращается  в
активное действующее лицо: не герой, а он принимает решение  на
узловом повороте. Читатель решительно  вторгается  в  сказку  и
раскручивает ее сюжет по своему вкусу.
     А сочинитель? За сочинителем ветвяющейся  сказки  тоже  не
последнее слово: чтобы история была занимательной, а не наводи■
ла тоску, надо проявить талант и умение.

2. Проектирование.
     Будем изображать сказку в виде ориентированного  графа,  в
котором ребра задают возможные переходы. Вершины  такого  графа
назовем кадрами.
     Кадр разделим логически на три части
                       - повествование,
                       - иллюстрация,
                       - управление.
     Повествование - это текст, фрагмент сказки. Иллюстрация
- это картинка к повествованию. Управление описывает условия
выбора следующего кадра.
     Все кадры будут иметь свои  номера.  Эти  номера  могут
быть произвольными, но обязателен кадр с номером  один:  это
начало сказки. Номер кадра служит его меткой и  используется
при описании управления. Можно  себе  представить  ситуацию,
при которой существуют несколько кадров с одним номером (так
и сделано в компьютерной реализации; при переходе кадр выби-
рается случайно среди всех кадров, имеющих этот  номер),  но
здесь мы такие сказки рассматривать  не  будем  и  потребуем
уникальности каждого номера.
     Заметим, что концов у сказки может быть  несколько.  От
конечного кадра управление никуда не  передается  или  можно
считать, что оно передается на особый кадр  с  несущесеству-
ющим номером 0.
     Еще одно замечание касается линейной сказки: видим  что
она является частным случаем ветвящейся.

     Пример 1. Сказка про умного кота Ваську

                        Схема сказки
                            ┌─┐
                        ┌──>┤2├──>─┐
                        │   └─┘    │
                       ┌┴┐        ┌┴┐
                       │1│        │4│
                       └┬┘        └┬┘
                        │   ┌─┐    │
                        └──>┤3├──>─┘
                            └─┘

                           Кадр 1.
     Повествование. Пошел кот Васька в лес по...

     Иллюстрация.

     Управление. Грибы или ягоды? Если грибы - кадр 2, иначе  -
кадр 3.
                           Кадр 2.
     Повествование. Набрал Васька грибов.

     Иллюстрация.

     Управление. Кадр 4.
                           Кадр 3.
     Повествование. Набрал Васька ягод.

     Иллюстрация.
+
     Управление. Кадр 4.
                           Кадр 4.
     Повествование. Вот так успешно закончилась история про ум■
ного кота Ваську.

     Иллюстрация.

     Управление. Конец.

3. Конструирование.
     Будем делать сказку на бумажных карточках. Каждая карточка
- это один кадр сказки. Карточку будем делить на четыре части -
для номера кадра, повествования, иллюстрации и управления:

    ┌───────┬──────────────────────────────────────┐
    │Кадр N │                                      │
    ├───────┘                                      │
    │                                              │
    │             Повествование                    │
    │                                              │
    ├──────────────────────────────────────────────┤
    │                                              │
    │              Иллюстрация                     │
    │                                              │
    │                                              │
    ├──────────────────────────────────────────────┤
    │                                              │
    │              Управление                      │
    │                                              │
    └──────────────────────────────────────────────┘

     Сказка представляет теперь стопку таких карточек. Вот  как
может выглядить карточка с кадром 1 для сказки про умного  кота
Ваську (рис 5):

4. Навигация.
     Приступим теперь к чтению. Чтению надо научиться, пото  му
что читать подряд карточки из стопки нельзя - никакой сказки не
получится. Читать сказку надо по особому алгоритму.

                   Алгоритм чтения сказки
         1. Номер кадра приравнять 1
         2. Пока кадр не последний
            2.1. Чтение кадра с текущем номером
            2.2. Определение номера следующего кадра

     Попробуем прочитать теперь сказку про Ваську. Сказка запи■
сана на 4 карточках. Берем из стопки карточку с кадром номер  1
- это начало сказки. Читаем повествование,  рассматриваем  кар■
тинку и определяем номер  следующего  кадра.  Пусть  это  будет
ягодный кадр 3. Теперь ищем в стопке карточку с кадром 3 и  чи■
таем его. Определение следующего кадра не требует  выбора:  уп■
равление задает линейный переход к кадру с номером 4. Кадр  но■
мер 4 - это последний кадр - сказка кончилась.
     Мы проложили по графу сказки свой путь: 1-3-4. Всего таких
путей в сказке, как видим два, второй 1-2-4. Понятно,  что  для
более сложных сказок пути будут более длинными,  их  количество
более разнообразным, но навигация  остается  по-прежнему  очень
простой - ее полностью описывает приведенный выше  алгоритм.  +
5. Описание пакета.
     Привлечь к созданию и чтению ветвящихся сказок компьютер -
вот позитивная идея, вдохновившая авторов  на  создание  пакета
"Конструктор Сказок".
     Этот пакет в первую очередь адресован  школьнику,  работа■
ющему за компьютером под руководством  учителя.  Учитель  может
использовать Конструктор в рамках курса компьютерной грамотнос■
ти, на уроках литературы или иностранного языка для  стимулиро■
вания творчества школьника при помощи необычной,  увлекательной
деятельности.
     В Конструктор входят:
      - текстовый редактор;
      - графический редактор;
      - редактор сказок;
      - настройщик цветов;
      - две готовые сказки;
      - компьютерный учебник по применению пакета;
      - набор рисунков-заготовок для иллюстрирования сказок;
      - книжка - руководство для учителя.
     Пользователь управляет  программами  Конструктора  посред■
ством Монитора, который избавляет от работы в  терминах  команд
операционной системы и оболочек типа Norton Commander.
     Для работы пакета нужен компьютер типа PC (AT  или  XT)  с
графическим адаптером не ниже EGA. Наличие винчестера не  явля■
ется необходимым, но весьма полезно.

     5.1. Как устроена сказка.
     Компьютерная сказка очень похожа на описанный выше  бумаж■
ный вариант. Здесь тоже речь идет о стопке карточек  (отобража■
емых теперь на экране), но они становятся двухсторонними.  Пер■
вая, лицевая сторона, содержит три основных части кадра: повес■
твование, иллюстрацию и управление:

          ┌───────────────────────────────────────┐
          │  Хотите ли вы узнать историю трех  ма-│
          │леньких горошин?                       │
          │                                       │
          ├───────────────────────────────────────┤
          │                                       │
          │                                       │
          │                                       │
          │                                       │
          ├───────────────────────────────────────┤
          │  Наберите "ДА" или "НЕТ".             │
          │                                       │
          └───────────────────────────────────────┘
     Управление в отличие от бумажной сказки задается при помо■
щи ключевых слов. В нашем примере это слова "ДА" и "НЕТ". Чита■
тель набирает на клавиатуре нужное слово  и  ему  предъявляется
для чтения следующий кадр. Таким образом, он читает  сказку  не
копаясь каждый раз в стопке в поискак нужного кадра.
     Но как же происходит  передача  управления?  Посмотрим  на
оборотную сторону карточки (она вызывается по нажатии на клави■
шу Esc и не нужна при чтении сказки).
     Оборотная сторона содержит номер данного  кадра,  дисковые
имена с текстом повествования и иллюстрации, а также задает пе■
ревод ключевого слова в номер кадра: +

          ┌───────────────────────────────────────┐
          │Карточка 1                         ┌─┐ │
          │             ┌──────────────┐ Кадр │1│ │
          │Имя текста:  │s1k1          │      └─┘ │
          │             └──────────────┘          │
          │             ┌─────────┐               │
          │Имя рисунка: │s1k1     │.cut           │
          │             └─────────┘               │
          ├────────────────────────┬──────────────┤
          │     Ключевое слово     │    Кадр      │
          ├────────────────────────┼──────────────┤
          │Да                      │     4        │
          ├────────────────────────┼──────────────┤
          │Нет                     │     2        │
          ├────────────────────────┼──────────────┤
          │                        │              │
          └────────────────────────┴──────────────┘
     Когда читатель набирает ключевое слово, программа  перево■
дит его в номер кадра, используя таблицу на оборотной стороне.
     5.2. Как читать сказку.
     Читать сказку на компьютере нужно по прежнему алгоритму из
пункта 4. Компьютер оказывает при этом разные полезные  услуги,
упрощающие навигацию и делающие ее более гибкой:
     - автоматический поиск и предъявление кадра (лицевой  сто■
роны карточки);
     - откатка на шаг (возврат к кадру, который был показан пе■
ред текущим);
     - откатка на любое число шагов (выполнение откатки на  шаг
несколько раз);
      - откатка в начало (переход к кадру с номером 1);
     - накатка на шаг (переход к предыдущему кадру, показанному
во время откатки);
     - накатка на любое число шагов (выполнение накатки на  шаг
несколько раз).
     Механизм накатки и откатки позволяет  вернуться  на  любое
место своего пути по графу сказки и  продолжить  его  в  другом
направлении. Поясним сказанное  примером.  Пусть  сказка  имеет
граф такой, как на рисунке:
                  да  ┌─┐ нет        нет
                 ┌<───┤1├──>─┐     ┌────>─────────┐
                 │    └─┘    │     │              │
       ┌─┐ плохо┌┴┐         ┌┴┐нет┌┴┐ да ┌──┐ужас┌┴─┐
    ┌<─┤9├<─────┤4│         │2├──>┤3├───>┤17├───>┤21├─>
    │  └─┘      └┬┘         └┬┘   └─┘    └┬─┘    └──┘
    │            │хорошо     │ да     ┌─<─┘чудесно
                 │           └─>──────┼───┐
                                      │  ┌┴─┐
                                      │  │16│
                                      │  └┬─┘
     Читая сказку, мы прошли путь: 1-2-3-17-21 и поняли, что на
развилке 17 лучше было бы свернуть во ветке "чудесно". Что  де■
лать? Начинать читать сказку с самого начала? Можно и так  (от■
катка в начало), но можно вернуться к кадру 17, выполнив откат■
ку на один шаг. Если,  выполняя  откатку,  мы  случайно  зайдем
слишком далеко, например в кадр 3 - не  беда,  накатка  поможет
нам вернуться в кадр 17 накатка. Итак, откатка  и  накатка  это
прокручивание уже пройденного пути в разных направлениях.
     Вот еще одна ситуация, в которой пригодится откатка в  на■
чало. Вы прочитали сказку и хотите показать ее другу.  Как  это
сделать? Ведь, вы можете забыть все свои промежуточные  перехо■
ды. Все очень просто: сделаем откатку в начало, а  затем  будем
выполнять накатку шаг за шагом до упора. Сюжет при  этом  будет
раскручиваться именно тем путем, по  которому  вы  его  прошли.
Помните, какие такси использовали коротышки в Солнечном городе?
У этих машин было  запоминающее  устройство.  Опытный  водитель
проезжал маршрут, такси его запоминало и затем водитель был уже
не нужен. Конструктор Сказок устроен точно так же.

     5.3. Как сделать сказку.
     Сделать сказку, конечно, не так просто, как  прочитать,  а
уж сделать хорошую сказку совсем непросто,  и  тут  уж  никакой
компьютер не поможет. Рассказ о том,  как  придумывать  хорошие
сказки выходит за рамки этой заметки (частично о правилах жанра
написано в книге для учителя и там же даны  практические  реко■
мендации по организации творчества и ссылки на толстые  книги).
Здесь просто показан технологический процесс.
     1) Граф (нарисовать граф)
     2) Макет (выполнить макет сказки на бумажных карточках)
     3) Тексты (написать тексты к кадрам)
     4) Рисунки (нарисовать иллюстрации к кадрам)
     5) Сборка (собрать сказку на компьютере)
                            Граф
     Граф лучше рисовать на большом листе бумаги пользуясь  ка■
рандашом и линейкой. В вершинах графа надо  проставлять  номера
кадров, на ребрах - надписывать ключевые слова.
                            Макет
     Макет полезен, но при достаточных навыках  не  обязателен.
Больше всего он подходит при обучении детей сочинению ветвящих■
ся сказок и включает в себя обязательное тестирование сказки по
алгоритму пункта 4. Для удобства последующего ввода в компьютер
рекомендуется изготовлять двухсторонние карточки со  следующими
полями:
              Лицевая сторона макетной карточки
          ┌───────────────────────────────────────┐
          │                                       │
          │         повествование                 │
          │                                       │
          ├───────────────────────────────────────┤
          │                                       │
          │         иллюстрация                   │
          │                                       │
          ├───────────────────────────────────────┤
          │                                       │
          │         управление                    │
          │                                       │
          └───────────────────────────────────────┘
     На поле "повествование" записывается первая редакция  тек■
ста, на поле "иллюстрация" рисуется эскиз будущей картинки (или
описывается словами как задание художнику), на  поле  "управле■
ние" записывается управляющий текст с ключевыми словами.

             Оборотная сторона макетной карточки
          ┌───────────────────────────────────────┐
          │                                   ┌─┐ │
          │                              Кадр │1│ │
          │                                   └─┘ │
          ├────────────────────────┬──────────────┤
          │     Ключевое слово     │    Кадр      │
          ├────────────────────────┼──────────────┤
          │Да                      │     4        │
          ├────────────────────────┼──────────────┤
          │Нет                     │     2        │
          ├────────────────────────┼──────────────┤
          │                        │              │
          └────────────────────────┴──────────────┘
     Оборотная сторона содержит номер данного кадра и перекоди■
ровку ключевых слов в номера кадров, к  которым  нужно  перейти
дальше.
                           Тексты
     Тексты к кадрам записываются в текстовом редакторе, входя■
щем в пакет. Текст к кадру включает в себя две части: повество■
вание и управление. Части отделяются друг от друга символом "&"
в первой позиции пустой строки. Пример:
           ┌─────────────────────────────────────┐
           │Хотите ли вы узнать историю трех  ма-│
           │леньких горошин?                     │
           │&                                    │
           │Наберите "ДА" или "НЕТ".             │
           └─────────────────────────────────────┘
     Имена текстовых файлов рекомендуется  делать  регулярными,
содержащими в себе номер кадра и, может быть, имя сказки,  нап■
ример, имя "s2k1" вполне  подходит  для  первого  кадра  второй
сказки.
                           Рисунки
     Рисунки подготавливаются в графическом редакторе, входящим
в пакет. В целях облегчения сборки рекомендуется давать  файлам
дисковые имена точно так же, как и для текстов (расширение  для
рисунков стандартное - "cut").
                           Сборка
     Сборка происходит в Редакторе сказок и заключается  в  за■
полнении оборотных сторон карточек. Так как для чтения и сборки
используется одна и та же программа,  разделение  на  чтение  и
сборку очень условно. В любой момент сборки можно нажать клави■
шу Esc (перевернуть карточку) и увидеть ее лицевую сторону. Ес■
ли при этом были заполнены на обороте имена текстого  и  графи■
ческого файлов, и они действительно есть на диске,  можно  уви■
деть текст и картинку. Теперь, начиная с этого кадра, можно чи■
тать сказку или снова перейти в режим сборки, нажав  на  ту  же
клавишу Esc.

6. На уроках информатики.
     Бесспорно, сочинение сказок способствует творческому  раз■
витию ребенка, будит его фантазию и воображение. Очевидно  так■
же, что практика создания ветвящихся сказок способствует разви■
тию логического мышления. Не останавливаясь на  этих  очевидных
фактах, обратимся к инструментальной,  коммуникационной,  алго■
ритмической и информационной стороне дела.
     6.1. Практика работы в интегрированной среде, планирование
и реализация в ней сложного проекта.
     Конструктор Сказок - это довольно большая  интегрированная
среда, специально предназначенная для обучения. Опыт  работы  в
ней окажет существенную услугу  будущему  пользователю  сложных
профессиональных сред. Здесь дело не только в  том,  чтобы  на■
учить нажимать школьника на нужные клавиши. Важно  научить  его
планировать свои действия и средства к их  достижению  наиболее
рациональным образом; при решении производной проблемы все вре■
мя держать в голове первообразную.
     6.2. Совместное проектирование сказки группой детей.
     Технология изготовления  сказки  позволяет  разделить  де■
ятельность на отдельные составляющие, а затем произвести  сбор■
ку. Таким образом можно промоделировать работу  коллектива  над
одним проектом, распределить роли и помочь в планировании и ор■
ганизации работы.
     6.3 Алгоритмические задачи
     Для того чтобы школьники "почуствовали" ту или иную управ■
ляющую структуру, можно дать им поупражняться на сказках.

Задания. Придумать сказки со следующими графами:
а) полная условная команда
          да  ┌─┐
         ┌───>┤3├────┐
         │    └─┘    │              если <условие>
   ┌─┐  ┌┴┐          │   ┌─┐          то    <команда1>
   │1├─>┤2│          ├──>┤5│          иначе <команда2>
   └─┘  └┬┘          │   └─┘
         │    ┌─┐    │
         └───>┤4├────┘
          нет └─┘
+
б) неполная условная команда
          да  ┌─┐
         ┌───>┤3├────┐
         │    └─┘    │              если <условие>
   ┌─┐  ┌┴┐          │   ┌─┐          то    <команда1>
   │1├─>┤2│          ├──>┤5│
   └─┘  └┬┘          │   └─┘
         │           │
         └──>────────┘
         нет
в) цикл
                 ┌─┐
            ┌─<──┤3├<─┐да
            │    └─┘  │
            │         │             пока <условие>
   ┌─┐      │        ┌┴┐нет┌─┐         <команда>
   │1├──────┴───────>┤2├──>┤4│
   └─┘               └─┘   └─┘

Ответ  к задаче 3в)
                           Кадр 1.
     Повествование. Пошел сражаться Иван с Драконом.
     Иллюстрация. Иван идет по дороге в полном вооружении.
     Управление. Кадр 2.
                           Кадр 2.
     Повествование. Ринулся Иван на Дракона...
     Иллюстрация. Иван борется с Драконом. Головы дракона в
                  боевом дыму и не видно, сколько их.
     Управление. Если у Дракона есть еще головы - кадр 3,
                 иначе - кадр 4.
                           Кадр 3.
     Повествование. Отрубил Иван Дракону голову.
     Иллюстрация. Отрубленная голова катится по земле.
     Управление. Кадр 2.
                           Кадр 4.
     Повествование. С победой и скальпами воротился Иван до-
                    мой.
     Иллюстрация. Ивана встречает народ.
     Управление. Конец.

     Чтение сказки можно превратить в  занимательную  прокрутку
алгоритма. Обсудить еще раз понятия  исполнителя  и  сочинителя
алгоритма, выявить различая условной команды и цикла (как пока■
зал опыт, эти две команды дети часто путают).

7. На других уроках.
     В "Конструкторе Сказок" имеется  электронное  руководство.
Оно написано средствами пакета и представляет собой  ветвящуюся
сказку. Насколько удачным получилось руководство, судить  поль■
зователю, однако это наглядный пример того, что средствами  па■
кета можно сочинять учебные справочные пособия и даже несложные
обучающие программы с проверочными заданиями. В качестве иллюс■
трации приведем фрагменты электронного учебника и сказки по ан■
глийскому языку.
     7.1. Начало электронного учебника

                            ┌─┐
                 ┌──────────┤1├───────────┐
                 │          └┬┘           │
                 │1          │2           │3
               ┌─┴─┐       ┌─┴─┐        ┌─┴─┐
            ┌──┤101├──┐    │201│     ┌──┤301├──┐
            │  └─┬─┘  │    └─┬─┘     │  └─┬─┘  │
            │1   │2   │3     │       │1   │2   │3

                           Кадр 1.
     Повествование.
                  Учебник
     Наберите  цифру  с  названием  нужной
     главы и нажмите Enter. (Для перехода  к
     этому кадру из  любого  места  учебника
     нажимайте Ctrl+Delete.)
     Иллюстрация.
     Клавиатура  с  выделенными  клавишами  "1",  "2",  "3",
     "Enter", "Ctrl", "Delete".
     Управление.
     1. Как посмотреть сказку (кадр 101).
     2. Как написать новую сказку (кадр 201).
     3. Как изменить сказку (кадр 301).
                          Кадр 101.
     Повествование.
     Чтобы прочитать сказку, нужно:
     1. Выбрать в меню программу Сказка.
     2. Выбрать в списке сказок нужную.
     3. Приступить к чтению.
     Иллюстрация.
     Схематическое изображение экрана при выборе путей 1,  2
     и 3.
     Управление.
       Если желаете получить более подробную
     справку, наберите одну из цифр 1, 2 или
     3. Иначе нажмите Ctrl+Delete.
                          Кадр 201.
     Повествование.
       Сначала надо продумать сюжет  сказки.
     Затем нарисовать разветвления на  бума-
     ге, пронумеровать  кадры  и  обозначить
     стрелочками переходы.
     Иллюстрация.
     Пример графа сказки.
     Управление.
     Нажмите Enter.
                          Кадр 301.
     Повествование.
       Что вы хотите изменить в сказке?
     Иллюстрация.
     Управление.
     1. Текст.
     2. Рисунок.
     3. Сюжет.
     В начало учебника - Ctrl+Delete.

     7.2. Фрагмент английского урока

                rat  ┌─┐
              ┌─────>│2│──────────┐
              │      └─┘          │
             ┌┴┐dig  ┌─┐          │
         ┌──>┤1├────>│3├──┐       └────> к следующим кадрам
         │   └┬┘     └─┘  │              сказки
         │    │ red  ┌─┐  ├>─┐
         │    └─────>│4├──┘  │
         │           └─┘     │
         │                   │
         └───────────────────┘
                           Кадр 1.
     Повествование. This is a #.
     Иллюстрация. Вася показывает пальцем на красную  крысу,
                  копающую землю.
     Управление. Какое слово может быть записано вместо #:
                 dig (кадр 3), red (кадр 4), rat (кадр 2).
                           Кадр 2.
     Повествование. Верно! Нужно было вставить существитель-
                    ное. Теперь получилась фраза:
                           This is a rat.
                           (Это - крыса)
     Иллюстрация. Вася доволен и крыса тоже.
     Управление. Кадр 5.
                           Кадр 3.
     Повествование. Ошибка! Нужно вставить  существительное,
                    а dig (копать) - глагол.
     Иллюстрация. Вася и крыса недовольны.
     Управление. Кадр 1.
+
                           Кадр 4.
     Повествование. Ошибка! Нужно вставить  существительное,
                    а red (красный) - прилагательное.
     Иллюстрация. Вася и крыса недовольны.
     Управление. Кадр 1.

     По всем вопросам, связанным с  Конструктором,  обращай-
тесь по адресу:
     152140 Ярославская обл., г. Переславль-Залесский,
     ул. Полевая, 4, кв.35, Первину Юрию Абрамовичу
     Телефоны для справок: (08535) 2.25.57, 9.84.00
