Как известно, компьютеры представляют числа не так, как люди. Вместо цифр от 0 до 9 они используют цифры от 0 до 255. Например, число 1 000 000 компьютер может представить тремя цифрами 15, 66, 64 (будем записывать это как 15;66;64), так как 15· 2562 + 66· 256 + 64 = 1 000 000. Кроме того, числа в компьютере имеют фиксированный размер. В этой задаче размер числа — 4 цифры, поэтому число 1 000 000 будет представлено компьютером как 0;15;66;64. Общаются компьютеры между собой именно в таком формате.
Такая система выглядит странной, но она прекрасно работает. Точнее, работала, пока какой-то суперзлодей не поменял в половине компьютеров в мире порядок цифр в числах на противоположный! Такие компьютеры стали читать 0;15;66;64 не как 1 000 000, а как 1 078 071 040 (64· 2563 + 66· 2562 + 15· 256 + 0 = 1 078 071 040). Никто не знает, как это исправить, поэтому те компьютеры, которых беда не коснулась, стали называть «хорошими», а остальные — «плохими». Чтобы «хорошие» и «плохие» компьютеры могли друг с другом общаться, нужно превращать неправильно прочитанные компьютером числа в правильные.
Например, пусть A и B — два компьютера противоположного типа, и компьютер A хочет послать компьютеру B целое неотрицательное число, не превосходящее 4 294 967 295. Для этого A записал это число четырьмя цифрами от 0 до 255 и отправил их компьютеру B. Компьютер B прочитал полученные цифры как число v, которое не обязательно совпадает с числом, которое компьютер A хотел передать.
Напишите программу, которая поможет «хорошему» или «плохому» компьютеру B понять, какое число было послано ему компьютером A противоположного типа.
Исходные данные
В первой строке дано слово, обозначающее тип компьютера A, от которого получено число, — «GOOD
» (без кавычек), если компьютер «хороший», и «BAD
» (без кавычек), если компьютер «плохой».
Во второй строке дано целое неотрицательное число v, которое принял компьютер B (0 ≤ v ≤ 4 294 967 295).
Результат
В единственной строке выведите целое неотрицательное число, посланное компьютером A.
Примеры
исходные данные | результат |
---|
GOOD
16777216
| 1
|
BAD
1000
| 3892510720
|
Замечания
В первом примере число 16 777 216 = 1·2563 + 0·2562 + 0·256 + 0 «плохой» компьютер B прочитал из записи 0;0;0;1. «Хороший» компьютер A в этой записи закодировал число 0·2563 + 0·2562 + 0·256 + 1 = 1.
Во втором примере число 1000 = 0·2563 + 0·2562 + 3·256 + 232 «хороший» компьютер A прочитал из записи 0;0;3;232. «Плохой» компьютер B в этой записи закодировал число 232·2563 + 3·2562 + 0·256 + 0 = 3 892 510 720.
Автор задачи: Айдар Исламов
Источник задачи: Уральская командная олимпиада по программированию 2019