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.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class PolothePenguinandStrings288A {

    public static void main(String[] args) {
        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader flujoE = new BufferedReader(isr);
        int n,k;
        String cadena1 = null, cadenaR="";
        String[] cadena = null;
        try {
            cadena1 = flujoE.readLine();
            cadena = cadena1.split(" ");            
        } catch (NumberFormatException e) {
            
        } catch (IOException e) {
            
        }   
        n=Integer.parseInt(cadena[0]);
        k=Integer.parseInt(cadena[1]);
        char[] cadenaResultante = new char[n];
        if(((k<n)&&(k<=26)&&(k>1))||(k==n)){
            if(n==1){
                cadenaResultante[0]='a';
            }else{
                for(int i=1;i<=(n-(k-2));i++){
                    if(i%2==0){
                        cadenaResultante[i-1]='b';
                    }else{
                        cadenaResultante[i-1]='a';
                    }
                }
            }           
            int c=99;
            for(int i=n-(k-2);i<n;i++){
                cadenaResultante[i]=(char)c;    
                c++;
            }
            System.out.println(cadenaResultante);
        }else{          
            System.out.println("-1");
        }
    }

}