3514: Polo the Penguin and Strings
[Creator : ]
Description
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=s1s2... sn, then the following inequality holds, si≠si+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=x1x2... xp is lexicographically less than string y=y1y2... yq, if either p<q and x1=y1,x2=y2,... ,xp=yp, or there is such number r (r<p,r<q), that x1=y1,x2=y2,... ,xr=yr and xr+1<yr+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≤106,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