Взлом хеш-функции
В некоторых задачах защиты информации используются так называемые хеш-функции. Одним из важнейших классов хеш-функций являются так называемые полиномиальные хеш-функции.
Пусть дана строка S = s1s2...sl состоящая из цифр от 0 до 9. Тогда значение полиномиальной хеш-функции p(S, x, m) вычисляется следующим образом
(a mod b обозначает от деления числа a на число b). Например, пусть S = 0123, тогда p(S, 2, 5) = (0·1+1·2+2·4+3·8) mod 5 = 4.
Одним из способов применения хеш-функций является хранения паролей. Часто бывает так, что пароли приходится хранить в незащищённой таблице базы данных, поэтому вместо них хранят хеш-функции от них. При проверке пароля вычисляется хеш-функция от введённой строки и сравнивается со значением, хранящимся в таблице.
Ваша задача состоит в том, чтобы по заданным числам x, m, L и v найти строку S из цифр от 0 до 9 длины L, значение полиномиальной хеш-функции p(S, x, m) которой равно v.
Технические условия
Входные данные
Входной файл содержит четыре целых числа: x (x - простое число, 5 ≤ x ≤ 100), m (m является степенью двойки, 1 ≤ m ≤ 256), L (10 ≤ L ≤ 100) и v (0 ≤ v ≤ m-1).
Выходные данные
В выходной файл выведите искомую строку или NO SOLUTION, если такой строки не существует.
Информация о задаче
Лимит времени: 2 секундыЛимит памяти: 64 MB
Баллы за пройденный тест: 4
Сложность: 9% 10/11
Пример
Пример входных данных5 16 10 9 |
Пример выходных данных7432978180 |
| ← Диаметр графа | Список задач | Графический файл → |
