human
PYTHON3 solution for "It is a simplified version of problem F2. The difference between them is the constraints (F1: k ≤ 2, F2: k ≤ 10).

You are given an integer n. Find the minimum integer x such that x ≥ n and the number x is k-beautiful.

A number is called k-beautiful if its decimal representation having no leading zeroes contains no more than k different digits. E.g. if k = 2, the numbers 3434443, 55550, 777 and 21 are k-beautiful whereas the numbers 120, 445435 and 998244353 are not.

Input

The first line contains one integer t (1 ≤ t ≤ 10^4) — the number of test cases. Then t test cases follow.

Each test case consists of one line containing two integers n and k (1 ≤ n ≤ 10^9, 1 ≤ k ≤ 2).

Output

For each test case output on a separate line x — the minimum k-beautiful integer such that x ≥ n.

Example

Input

4
1 1
221 2
177890 2
998244353 1

Output

1
221
181111
999999999":
assistant
#Here is Python code to find the minimum integer x such that x ≥ n and the number x is k-beautiful.
 def recurs(i,n,dist,nw,k,orig):
    if dist > k:
        return ""
    if nw[0:i] < orig[0:i]:
        return ""
    if i>=n:
        return nw
    c = ['0','1','2','3','4','5','6','7','8','9']
    for item in c:
        nw = nw[:i] + item + nw[i+1:]
        f = False
        for j in range(i):
            if nw[j] == item:
                f = True
                break
        
        cc = recurs(i+1,n,dist+(f == False),nw,k,orig)
        if cc != "":
            return cc
    return ""

t = int(input())
for i in range(t):
    n,k = map(int,input().split())
    n = str(n)
    nw = "0"*len(n)
    print(recurs(0,len(n),0,nw,k,n))