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: import java.io.*;
  import java.util.*;
  
  public class CF1560F2 extends PrintWriter {
  	CF1560F2() { super(System.out); }
  	Scanner sc = new Scanner(System.in);
  	public static void main(String[] $) {
  		CF1560F2 o = new CF1560F2(); o.main(); o.flush();
  	}
  
  	static final int A = 10;
  	boolean[] used = new boolean[A];
  	int count(byte[] cc, int n) {
  		Arrays.fill(used, false);
  		int cnt = 0;
  		for (int i = 0; i < n; i++) {
  			int a = cc[i] - '0';
  			if (!used[a]) {
  				used[a] = true;
  				cnt++;
  			}
  		}
  		return cnt;
  	}
  	void main() {
  		int t = sc.nextInt();
  		while (t-- > 0) {
  			byte[] cc = sc.next().getBytes();
  			int m = sc.nextInt();
  			int n = cc.length;
  			int cnt = count(cc, n);
  			if (cnt > m)
  				out: for (int i = n - 1; i >= 0; i--) {
  					cnt = count(cc, i);
  					if (cnt > m)
  						continue;
  					for (int a = cc[i] - '0' + 1; a < A; a++)
  						if (cnt < m || cnt == m && used[a]) {
  							if (!used[a]) {
  								used[a] = true;
  								cnt++;
  							}
  							cc[i] = (byte) (a + '0');
  							for (a = 0; a < A && cnt < m; a++)
  								if (!used[a]) {
  									used[a] = true;
  									cnt++;
  								}
  							a = 0;
  							while (!used[a])
  								a++;
  							Arrays.fill(cc, i + 1, n, (byte) (a + '0'));
  							break out;
  						}
  				}
  			println(new String(cc));
  		}
  	}
  }
  