Little penguin Polo adores strings. But most of all he adores strings of length $*n*$.
One day he wanted to find a string that meets the following conditions:
- The string consists of
$*n*$lowercase English letters (that is, the string's length equals$*n*$), exactly$*k*$of these letters are distinct. - No two neighbouring letters of a string coincide; that is, if we represent a string as
$*s* = *s*_{1}*s*_{2}... *s*_{*n*}$, then the following inequality holds,$*s*_{*i*} ≠ *s*_{*i* + 1}(1 ≤ *i* < *n*)$. - Among all strings that meet points 1 and 2, the required string is lexicographically smallest.
Help him find such string or state that such string doesn't exist.
String $*x* = *x*_{1}*x*_{2}... *x*_{*p*}$ is lexicographically less than string $*y* = *y*_{1}*y*_{2}... *y*_{*q*}$, if either $*p* < *q*$ and $*x*_{1} = *y*_{1}, *x*_{2} = *y*_{2}, ... , *x*_{*p*} = *y*_{*p*}$, or there is such number $*r*$ $(*r* < *p*, *r* < *q*)$, that $*x*_{1} = *y*_{1}, *x*_{2} = *y*_{2}, ... , *x*_{*r*} = *y*_{*r*}$ and $*x*_{*r* + 1} < *y*_{*r* + 1}$. The characters of the strings are compared by their ASCII codes.
Input
A single line contains two positive integers $*n*$ and $*k*$ $(1 ≤ *n* ≤ 10^{6}, 1 ≤ *k* ≤ 26)$ — the string's length and the number of distinct letters.
Output
In a single line print the required string. If there isn't such string, print "-1" (without the quotes).
样例
7 4
ababacd
4 7
-1
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。