No tag edit access

A. Polo the Penguin and Strings

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputLittle 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).

Examples

Input

7 4

Output

ababacd

Input

4 7

Output

-1

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jan/20/2018 04:10:03 (d3).

Desktop version, switch to mobile version.

User lists

Name |
---|