Время: 1 сек. Память: 16 Мб Сложность: 30%)
Пусть задана строка s = s1s2...sn. Назовем ее k-ой (k > 0) степенью sk строку sk = s1s2 . . .sns1s2 . . .sn......s1s2...sn (k раз). Например, третьей степенью строки abc является строка аbсаbсаbс.
Корнем k степени из строки s называется такая строка t (если она существует), что tk = s.
Ваша задача состоит в том, чтобы написать программу, находящую степень строки или корень из нее.
Входные данные
Первая строка входного файла INPUT.TXT содержит строку s, она содержит только маленькие буквы английского алфавита и имеет ненулевую длину, не превосходящую 1000.
Вторая строка входного файла содержит целое число k ≠ 0, |k| < 100001. Если k > 0, то необходимо найти k-ую степень строки s, если k < 0, то необходимо найти корень степени |k| из s.
Выходные данные
В выходной файл OUTPUT.TXT выведите строку, являющуюся ответом на задачу. Если длина ответа превосходит 1023 символа, выведите только первые 1023 символа. Если искомой строки не существует — выведите NO SOLUTION.
Примеры
№
|
INPUT.TXT
|
OUTPUT.TXT
|
1
|
abc
3 |
abcabcabc
|
2
|
abcdabcd
-2 |
abcd
|
3
|
abcd
-4 |
NO SOLUTION
|
Решение: