You are given two integers $n$ and $k$.

Your task is to construct such a string $s$ of length $n$ that for each $i$ from $1$ to $k$ there is at least one $i$-th letter of the Latin alphabet in this string (the first letter is 'a', the second is 'b' and so on) and there are no other letters except these. You have to maximize the minimal frequency of some letter (the frequency of a letter is the number of occurrences of this letter in a string). If there are several possible answers, you can print any.

You have to answer $t$ independent queries.


-----Input-----

The first line of the input contains one integer $t$ ($1 \le t \le 100$) — the number of queries.

The next $t$ lines are contain queries, one per line. The $i$-th line contains two integers $n_i$ and $k_i$ ($1 \le n_i \le 100, 1 \le k_i \le min(n_i, 26)$) — the length of the string in the $i$-th query and the number of characters in the $i$-th query.


-----Output-----

Print $t$ lines. In the $i$-th line print the answer to the $i$-th query: any string $s_i$ satisfying the conditions in the problem statement with constraints from the $i$-th query.


-----Example-----
Input
3
7 3
4 4
6 2

Output
cbcacab
abcd
baabab



-----Note-----

In the first example query the maximum possible minimal frequency is $2$, it can be easily seen that the better answer doesn't exist. Other examples of correct answers: "cbcabba", "ccbbaaa" (any permutation of given answers is also correct).

In the second example query any permutation of first four letters is acceptable (the maximum minimal frequency is $1$).

In the third example query any permutation of the given answer is acceptable (the maximum minimal frequency is $3$).

Difficulty: introductory

Starter code:

Solutions:
n = int(input())
for i in range(n):
	l, ch = map(int, input().split())
	for j in range(l):
		print(chr(j % ch + ord('a')), end='')
	print()


# import sys
# sys.stdin = open("F:\\Scripts\\input","r")
# sys.stdout = open("F:\\Scripts\\output","w")


MOD = 10**9 + 7
I = lambda:list(map(int,input().split()))

t, = I()
while t:
    t -= 1
    n, k = I()
    s = ''.join([chr(i) for i in range(97, 97 + k)])
    print(s*(n//k) + s[:n%k])

t=int(input())
NK=[list(map(int,input().split())) for i in range(t)]

for i in range(t):
    n,k=NK[i]

    for j in range(n):
        print(chr(97+j%k),end="")
    print()
        


alph = 'abcdefghijklmnopqrstuvwxyz'
for i in range(int(input())):
    n, k = list(map(int, input().split()))
    s = alph[:k]
    print(s * (n // k) + alph[:n % k])


from bisect import bisect_right as br
from bisect import bisect_left as bl
from collections import defaultdict
from itertools import combinations
import sys
import math
MAX = sys.maxsize
MAXN = 10**6+10
MOD = 998244353
def isprime(n):
    n = abs(int(n))
    if n < 2:
        return False
    if n == 2: 
        return True    
    if not n & 1: 
        return False
    for x in range(3, int(n**0.5) + 1, 2):
        if n % x == 0:
            return False
    return True

def mhd(a,b,x,y):
    return abs(a-x)+abs(b-y)

def numIN():
    return(list(map(int,sys.stdin.readline().strip().split())))

def charIN():
    return(sys.stdin.readline().strip().split())

t = [(-1,-1)]*1000010

def create(a):
	nonlocal t,n
	for i in range(n,2*n):
		t[i] = (a[i-n],i-n)
	for i in range(n-1,0,-1):
		x = [t[2*i],t[2*i+1]]
		x.sort(key = lambda x:x[0])
		t[i] = x[1]

def update(idx,value):
	nonlocal t,n
	idx = idx+n
	t[idx] = value

	while(idx>1):
		idx = idx//2
		x = [t[2*idx],t[2*idx+1]]
		x.sort(key = lambda x:x[0])
		t[idx] = x[1]


def dis(a,b,k):
	ans = 0
	for i in range(k):
		ans+=abs(a[i]-b[i])
	return ans


def cal(n,k):
	res = 1
	c = [0]*(k+1)
	c[0]=1
	for i in range(1,n+1):
	    for j in range(min(i,k),0,-1):
	        c[j] = (c[j]+c[j-1])%MOD
	return c[k]

for _ in range(int(input())):
	n,k = numIN()
	s = ''
	for i in range(1,k+1):
		s+=chr(i+96)
	for i in range(k,n):
		s+=s[i-k]
	print(s)







from sys import stdin
n1=int(stdin.readline().strip())
s=['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']
for i in range(n1):
    n,m=list(map(int,stdin.readline().strip().split()))
    x=0
    s1=""
    for j in range(n):
        s1+=s[x]
        x+=1
        if (j+1)%m==0:
            x=0
    print(s1)
        



t = int(input())

for _ in range(t):
	a, b = map(int, input().split())
	
	start = ord('a')
	
	for i in range(a):
		print(chr(start + (i%b)), end = "")
	print()

alpha = "abcdefghijklmnopqrstuvwxyz"
t = int(input())
for test in range(t):
    # n = int(input())
    n,k = (list(map(int, input().split())))
    print(alpha[0:k]*(n//k)+alpha[:n%k])



t = int(input())
al = 'abcdefghijklmnopqrstuvwxyz'
for i in range(t):
    n, k = list(map(int, input().split()))
    l = n // k
    s = al[:k] * l
    s += al[:n % k]
    print(s)


q = int(input())

for i in range(q):
    n, k = map(int, input().split())
    t = ""
    for j in range(n):
        t += chr((j % k) + ord("a"))

    print(t)

s = "abcdefghijklmnopqrstuvwxyz"
for i in range(int(input())):
    n, k = [int(x) for x in input().split()]

    use = s[:k]
    ln = len(use)
    ans = use * (n // ln) + use[:n % ln]
    print(ans)


from string import ascii_lowercase as let


def main():
    t = int(input())
    for i in range(t):
        n, k = list(map(int, input().split()))
        ll = let[:k]
        s = ll * (n // len(ll))
        s += ll[:n - len(s)]
        print(s)


main()


s=''
for i in range(ord('a'),ord('z')+1):
    s+=chr(i)
for _ in range(int(input())):
    n,k=list(map(int,input().split()))
    print(s[:k]*(n//k)+s[:n%k])
    


k = int(input())
s = 'abcdefghijklmnopqrstuvwxyz'
for i in range(k):
	m , n = list(map(int,input().split()))
	if n > m:
		print(s[:m])
	else:
		print(s[:n]*(m//n) + s[:m%n])


t = int(input())
for q in range(t):
    answer = []
    n, k = map(int, input().split())
    q1 = 0
    while q1 < n:
        answer.append(chr(ord('a')+q1 % k))
        q1 += 1
    print(*answer, sep='')


t=int(input())
f="abcdefghijklmnopqrstuvwxyz"
for i in range(t):
    n,k=list(map(int,input().split()))
    g=f[:k]
    s=""
    for j in range(n):
        s+=g[j%k]
    print(s)