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, si ≠ si + 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
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class a {

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int n=s.nextInt();
        int k=s.nextInt();
        if(n<k||(k==1&&n!=1)){
            System.out.println("-1");
        }
        else{
           int m=n-k+2;
            String s1="";
            if(n==1&&k==1){
                System.out.print("a");
            }
        else{    
          if(m%2==0){
             // while(m>0){
                  //System.out.print("ab");
                  //s1+="ab";
               //   m-=2;
              //}
              s1=f(m/2);
              
              System.out.print(s1);
          }
            else{
               // while(m>1){
                  // s1+="ab";
                   // System.out.print("ab");
                 // m-=2;
              //}
                 s1=f(m/2);
                 System.out.print(s1);
                 System.out.print("a");
            }
            for(int i=2;i<=k-1;i++){
                int ascii=97+i;
                System.out.print((char)ascii);
            }
        }
        }
    }
    public static String f(int n){
        if(n==1){
            return "ab";
        }
       // System.out.println(n);
        if(n==0)
            return "";
        else{
            if(n%2==0){
                String s=f(n/2);
                 s+=s;
                return s;
            }
            else{
                String s=f(n/2);
                s+=s;
                s+="ab";
                return s;
            }    
        }
    }
}
