A. Банан
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Красная Шапочка покупает стикеры для одного ее проекта. Стикеры закупаются на листах, где каждый лист содержит ровно 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».