Анна живёт на Алголе, а Боб на Бетельгейзе. Их разделяет огромное расстояние поскольку эти звезды находятся в разных созвездиях - Персея и Ориона.
И вот они нашли способ связи через электронную почту. Однако из-за большого расстояния некоторые буквы могут быть немного изменены при передаче. Анна предложила простой способ контроля ошибок:
Все буквы передаются обычной ASCII кодировкой, один байт на символ.
Каждый байт состоит из 8 бит, однако самый старший бит не используется для букв английского языка - он всегда равен 0
.
Будем устанавливать этот бит либо в 0
, либо в 1
таким образом, чтобы сумма всех битов в байте была чётной (2
, 4
,
6
or 8
). Вот как будут закодированы некоторые буквы:
символ ascii-код двоичное сумма бит закодированное десятичное
'A' 65 01000001 2 01000001 65
'B' 66 01000010 2 01000010 66
'C' 67 01000011 3 11000011 195
'.' 46 00101110 4 00101110 46
' ' 32 00100000 1 10100000 160
Предполагается что линия связи никогда не изменяет более одного бита в байте.
Итак, нам дано закодированное сообщение. Наша задача - проверить каждую букву и удалить те из них, которые были повреждены при передаче. Остальные нужно сконвертировать в ASCII и напечатать как символы.
Входные данные содержат байты переданного сообщения, представленные последовательностью десятичных чисел,
через пробел.
Сообщение состоит только из латинских букв, цифр, и пробелов.
Конец сообщения обозначается точкой '.'
- можно считать что она никогда не повреждается при передаче.
Ответ должен содержать сообщение без поврежденных байт. Старшие биты нужно сбросить и представить получившиеся байты
как символы вместо чисел.
Пример:
входные данные:
65 238 236 225 46
ответ:
Ana.