description: 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
solution: def nr_distinct(n):
  	return len(set(list(n)))
  
  def get(n, idx, k):
  	if n[idx] == '9':
  		return -1
  	
  	digs = set(list(n[:idx]))
  
  	if len(digs) > k:
  		return -1
  	
  	if len(digs) == k:
  		x = chr(ord('9') + 1)
  		y = x
  		for ch in digs:
  			if ord(ch) > ord(n[idx]) and ord(ch) < ord(x):
  				x = ch
  			if ord(ch) < ord(y):
  				y = ch
  
  		if ord(x) <= ord('9'):
  			return n[:idx] + x + "".join([y] * (len(n) - idx - 1))
  		else:
  			return -1
  	else:
  		x = chr(ord(n[idx]) + 1)
  		digs.add(x)
  
  		if len(digs) < k:
  			y = '0'
  		else:
  			y = chr(ord('9') + 1)
  			for ch in digs:
  				if ord(ch) < ord(y):
  					y = ch
  
  		return n[:idx] + x + "".join([y] * (len(n) - idx - 1))
  
  for _ in range(int(input())):
  	n, k = input().split()
  	k = int(k)
  
  	if nr_distinct(n) <= k:
  		print(n)
  		continue
  	
  	found = False
  	for idx in range(len(n) - 1, -1, -1):
  		ans = get(n, idx, k)
  		if ans != -1:
  			print(ans)
  			found = True
  			break
  
  	if not found:
  		print("".jioin(['1'] * (len(n) + 1)))
  