eolymp
bolt
Try our new interface for solving problems
Problems

Взлом хеш-функции

Взлом хеш-функции

Time limit 2 seconds
Memory limit 64 MiB

В некоторых задачах защиты информации используются так называемые хеш-функции. Одним из важнейших классов хеш-функций являются так называемые полиномиальные хеш-функции.

Пусть дана строка S = s_1s_2...s_l состоящая из цифр от 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.

Input data

Входной файл содержит четыре целых числа: x (x - простое число, 5x100), m (m является степенью двойки, 1m256), L (10L100) и v (0vm-1).

Output data

В выходной файл выведите искомую строку или NO SOLUTION, если такой строки не существует.

Examples

Input example #1
5 16 10 9
Output example #1
7432978180