3668.Polo the Penguin and Strings

Time Limit: 1s Memory Limit: 256MB

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=s1s2... sn, then the following inequality holds, si \neq si+1(1 \le i \lt 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 \lt q and x1=y1,x2=y2,... ,xp=yp, or there is such number r (r \lt p,r \lt q), that x1=y1,x2=y2,... ,xr=yr and xr+1 \lt yr+1. The characters of the strings are compared by their ASCII codes.

Input Format(From the terminal/stdin)

A single line contains two positive integers n and k (1 \le n \le 106,1 \le k \le 26) - the string's length and the number of distinct letters.

Output Format(To the terminal/stdout)

In a single line print the required string. If there isn't such string, print "-1" (without the quotes).

Sample Input 1

Copy
7 4
 · \n

Sample Output 1

Copy
ababacd
       \n

Sample Input 2

Copy
4 7
 · \n

Sample Output 2

Copy
-1
  \n

Submit

请先 登录

© 2025 FAQs