ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

Уральская региональная командная олимпиада по программированию 2019

Описание     Задачи     Отправить на проверку     Состояние проверки     Результаты
Соревнование завершено

A. Хороший, плохой, злой

Ограничение времени: 0.5 секунды
Ограничение памяти: 256 МБ
Как известно, компьютеры представляют числа не так, как люди. Вместо цифр от 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
Чтобы отправить решение этой задачи на проверку перейдите в Архив задач: 2138. Хороший, плохой, злой