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

Маленький пингвин Поло очень любит строки. Но больше всего он любит строки длины n.

Однажды он захотел найти строку, которая удовлетворяет следующим условиям:

  1. Строка состоит из n строчных латинских букв (то есть длина строки равна n), среди этих букв ровно k различных.
  2. Никакие две соседние буквы строки не совпадают; то есть, если обозначить строку как s = s1s2... sn, то выполняется неравенство, si ≠ si + 1(1 ≤ i < n).
  3. Среди всех строк, удовлетворяющих пунктам 1 и 2, искомая строка лексикографически минимальная.

Помогите ему найти такую строку или сообщите, что такой строки нет.

Строка x = x1x2... xp лексикографически меньше строки y = y1y2... yq, если либо p < q и x1 = y1, x2 = y2, ... , xp = yp, либо существует такое число r (r < p, r < q), что x1 = y1, x2 = y2, ... , xr = yr и xr + 1 < yr + 1. Символы строк сравниваются как их ASCII коды.

Входные данные

В единственной строке записаны два целых положительных числа n и k (1 ≤ n ≤ 106, 1 ≤ k ≤ 26) — длина строки и количество различных букв.

Выходные данные

В единственной строке выведите искомую строку. Если такой строки нет, выведите «-1» (без кавычек).

Примеры
Входные данные
7 4
Выходные данные
ababacd
Входные данные
4 7
Выходные данные
-1