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.

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.

提交代码