Красная Шапочка покупает стикеры для одного ее проекта. Стикеры закупаются на листах, где каждый лист содержит ровно n стикеров. На каждом стикере написана ровно одна буква, таким образом лист стикеров может быть задан строкой длины n. Красная Шапочка хочет написать стикерами строку s. Она может купить любое количество листов со стикерами. Она может выбрать любую строку длины n для листов, но все листы должны быть одинаковыми, то есть строки на всех листах должны совпадать. Получив листы со стикерами, Панамка возьмет некоторое количество стикеров с этих листов, и сложит из них строку s (для получения строки s эти стикеры можно располагать в любом порядке). Определите минимальное количество листов, которое ей придется купить, и приведите строку длины n, при которой это количество можно достигнуть.
Первая строка содержит строку s (1 ≤ |s| ≤ 1000), состоящую из строчных букв английского алфавита. Вторая строка содержит единственное число n (1 ≤ n ≤ 1000).
В первой строке выведите минимальное количество листов, которое Красной Шапочке придется заказать. На второй строке выведите строку длины n. Эта строка должна описывать лист стикеров, которые Красной Шапочке надо заказать, чтобы минимизировать количество листов. Если невозможно купить некоторое количество одинаковых листов с n стикерами, и при этом получить возможность собрать строку s, выведите число -1.
banana
4
2
baan
banana
3
3
nab
banana
2
-1
Во втором примере Красная Шапочка может купить 3 листа со стикерами «nab» каждый. Она может затем взять символы «nab» с первого листа, «na» со второго, и «a» с третьего, и собрать из них слово «banana».
Название |
---|