Problem: Let's define the cost of a string s as the number of index pairs i and j (1 ≤ i < j < |s|) such that s_i = s_j and s_{i+1} = s_{j+1}.

You are given two positive integers n and k. Among all strings with length n that contain only the first k characters of the Latin alphabet, find a string with minimum possible cost. If there are multiple such strings with minimum cost — find any of them.

Input

The only line contains two integers n and k (1 ≤ n ≤ 2 ⋅ 10^5; 1 ≤ k ≤ 26).

Output

Print the string s such that it consists of n characters, each its character is one of the k first Latin letters, and it has the minimum possible cost among all these strings. If there are multiple such strings — print any of them.

Examples

Input


9 4


Output


aabacadbb


Input


5 1


Output


aaaaa

Input


10 26


Output


codeforces

Solution (in PYTHON3):

Solution:
n,k = tuple(map(int,input().split()))
alphabets = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
d={}
for i in range(k):
    d[alphabets[i]]=0
if(n==1):
    print('a')
elif(k==1):
    print('a'*n)
elif(n<=k*k):
    count = 1
    ans = ['a']
    while(count<n):
        current = ans[-1]
        if(d[current]==-1):
            inde = alphabets.index(current)
            j = (inde+1)%k
            while( d[alphabets[j]]==-1):
                j+=1
                if(j>=k):
                    j=0
            current = alphabets[j]
        
        
        while(d[alphabets[d[current]]]==-1):
            d[current]+=1
        ans.append(alphabets[d[current]])
        d[current]+=1
        if(d[current]>=k):
            d[current] = -1
        count+=1
        # print(d,current,alphabets[d[current]-1])
    print(''.join(ans))
else:
    count = 1
    ans = ['a']
    while(count<k*k):
        current = ans[-1]
        if(d[current]==-1):
            inde = alphabets.index(current)
            j = (inde+1)%k
            while( d[alphabets[j]]==-1):
                j+=1
                if(j>=k):
                    j=0
            current = alphabets[j]
        
        
        while(d[alphabets[d[current]]]==-1):
            d[current]+=1
        ans.append(alphabets[d[current]])
        d[current]+=1
        if(d[current]>=k):
            d[current] = -1
        count+=1
        # print(d,current,alphabets[d[current]-1])
    s = ''.join(ans)
    final_ans = (n//len(s))*s 
    i = 0
    while(len(final_ans)<n):
        final_ans += s[i]
        i+=1
    print(final_ans)