INTERCAL — самый старый эзотерический язык программирования. Одна из его многих странностей — метод символьного вывода, известный как лента Тьюринга. Он преобразует массив беззнаковых 8-битных целых чисел в последовательность символов по следующему алгоритму.
Числа массива обрабатываются по одному, начиная с первого. Обработка i-ого числа состоит из трех шагов:
1. 8-битная двоичная запись ASCII-кода предыдущего напечатанного символа отображается зеркально. При обработке первого числа массива результат этого шага считается равным нулю.
2. Из результата предыдущего шага вычитается i-ое число массива по модулю 256.
3. Двоичная запись результата предыдущего шага отображается зеркально, чтобы получить ASCII-код очередного (i-ого) символа для печати.
Дан текст, напечатанный этим способом. Восстановите оригинальный массив.
Выходные данные
Выведите исходный массив, который использовался для печати text, по одному элементу на строку.
Примечание
Рассмотрим начало примера. Первый символ — «H», ASCII-код 72 = 010010002. Его зеркальное отображение 000100102 = 18, и это число должно стать результатом второго шага обработки. Результатом первого шага обработки считается 0, поэтому первое число массива должно быть равно (0 - 18) mod 256 = 238, где a mod b — остаток от деления a на b.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
2 3 3 2 3 4 7 2 4 3 2 5 11 1 2 4 2 1 6 3 4 6
|
1
|