Time limit 2000/4000/4000/4000 ms. Memory limit 65000/65000/65000/65000 Kb.
Decoding
Шпион Злов и контрразведчик Зайкин (про которого Злов не знал, что он контрразведчик) уткнулись в монитор.
- Вот, новая шифровальная программа. Шифрует числа, превращая их в другие числа! – гордо произнёс Злов, кликая значок на Рабочем столе.
- Только числа? А как же буквы? – удивился Зайкин.
- Буквы – тоже числа! Погугли про Юникод, деревня!
Злов быстро забарабанил по клавишам.
- Это число. Это ключ (нет смысла делать его большим, особенно если числа мелкие). Жмём Enter – вот результат! А с таким ключом получится так…
Тренированный мозг Зайкина быстро фиксировал результаты кодирования числа 2021 с разными ключами: ключ 1 – 2021 (неинтересно), 2 – 3034, 3 – 3533, 4 – 3706, 5 – 17396… тут Злов перескочил сразу на 10 (получилось 524259), потом опробовал ещё ключи 11 (вышло неожиданно мало – 1343) и 12 (2686). Зайкин пытался запоминать ещё фоновое бормотание Злова, там было про «двоичное представление», «кусочки длиной в ключ», «реверс»…
А вы – тоже контрразведчик, специалист по дезинформации. И вам на основании добытых Зайкиным данных следует воспроизвести вражескую шифровальную машину.
Входные данные: в первой строке – кодируемое число (натуральное число, не превышающее миллиарда), во второй – ключ (натуральное число, не превышающее 15).
Выходные данные: число, зашифрованное указанным ключом. Гарантируется, что результат при тестовых данных также не превышает 10 миллиардов.
Для отправки решений необходимо выполнить вход.
|