Конкурсы и Олимпиады по Машинному программированию (КОМП) Жара
Наступает жаркая пора. Начало тёплого сезона, конец учебного года, конец нашего конкурса. Завершение конкурса будет происходить постепенно. Начиная с 11 мая, будут
зафиксированы результаты уровней ("Засушены").
12 мая --- 1 уровень,
13 мая --- 2 уровень,
и т.д.,
17 мая --- 6 уровень,
18 мая --- 7 уровень,
20 мая --- 8,9 уровень на очном туре. "Засушить" --- значит, участники оказавшиеся на
этом уровне в этот день больше на другие уровни не переходят и их
программы не тестируются.
Рейтинг участников
До сих пор уровень 7 не удаётся преодолеть, но некоторые участники уже близки к этому.
Логические операции ещё называют логическими связками, потому что
они связывают логические выражения. Есть несколько основных связок: ~,
&, v, =>. Но оказывается, что можно обойтись только ~ и & для того,
чтобы записать любое логическое выражение. Т.е. вместо исходного
выражения можно записать равное ему, используя только ~ и &.
Логические выражения равны, если для любых значений переменных их
значения совпадают. Например, A&(BvC) = B&AvA&C, AvA не равно AvB.
Для того чтобы доказать, что достаточно только связок ~ и &
требуется всего лишь уметь записывать выражения всего с одной связкой
и любыми переменными, назовём такие выражения базовыми.
Техническое задание.
По заданному базовому выражению выдать равное ему, используя только
связки ~ и &. Переменные будут обозначаться только заглавными
латинскими буквами. Если возможно несколько вариантов решения, выдать
самый короткий, в котором переменные стоят в том же порядке, как в
исходном.
На вход подаётся:
строка --- базовое выражение.
Входные данные подаются во входной поток.
Выходные данные выдаются в выходной поток.