跳到主要内容
图灵 OJTURING / ONLINE JUDGE

#F2505. Polo the Penguin and Strings

    ID: 2511 传统题 2000ms 256MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>贪心算法思想基础难度共享题库Codeforces英文题面题目来源题面语言

Polo the Penguin and Strings

题目描述

A. Polo the Penguin and Strings
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

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:

  1. The string consists of n lowercase English letters (that is, the string's length equals n), exactly k of these letters are distinct.
  2. No two neighbouring letters of a string coincide; that is, if we represent a string as s=s1s2... sn, then the following inequality holds, sisi+1(1≤i<n).
  3. 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

题目来源:fps-www.educg.net-codeforce-1-2833.xml.zip;FPS 共享题包,题包内第 2144 题。保留原作者与原赛事署名。