AT_abc423_g [ABC423G] Small Multiple 2

Description

以下の $ 2 $ つの条件を満たす正の整数 $ n $ としてあり得る最小値を求めてください。 - $ n $ は $ K $ の倍数である。 - $ n $ の十進法での表記には、部分文字列として $ S $ が含まれる。 $ T $ 個のテストケースが与えられるので、それぞれについて答えを求めてください。 部分文字列とは ある文字列 $ S $ の部分文字列とは、 $ S $ の先頭から $ 0 $ 文字以上、末尾から $ 0 $ 文字以上削除して得られる文字列のことをいいます。 例えば、`ab` や `b` は `abc` の部分文字列ですが、`ac` や `cba` は `abc` の部分文字列ではありません。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ T $ $ \textrm{case}_1 $ $ \textrm{case}_2 $ $ \vdots $ $ \textrm{case}_T $ $ \textrm{case}_i $ は $ i $ 番目のテストケースを表す。各テストケースは以下の形式で与えられる。 > $ K $ $ S $

Output Format

$ T $ 行出力せよ。 $ i $ 行目 ( $ 1 \leq i \leq T $ ) には $ i $ 番目のテストケースに対する答えを出力せよ。

Explanation/Hint

### Sample Explanation 1 $ 1 $ 番目のテストケースにおいて、 $ 271 $ の倍数である正の整数のうち、十進法での表記に部分文字列として `414` を含むものの最小値は $ 34146 $ です。 $ 2 $ 番目のテストケースにおいて、 $ 15 $ の倍数である正の整数のうち、十進法での表記に部分文字列として `23` を含むものの最小値は $ 1230 $ です。 $ 3 $ 番目のテストケースにおいて、 $ 155521 $ の倍数である正の整数のうち、十進法での表記に部分文字列として `1000` を含むものの最小値は $ 100000003 $ です。 $ 4 $ 番目のテストケースにおいて、 $ 920950937 $ の倍数である正の整数のうち、十進法での表記に部分文字列として `999999999999999999999` を含むものの最小値は $ 1000000999999999999999999999 $ です。 ### Constraints - $ T $ は整数。 - $ 1 \leq T \leq 200 $ - $ K $ は整数。 - $ 1 \leq K \leq 10^9 $ - $ S $ は数字 (`0` - `9`) からなる文字列。 - $ S $ の先頭の文字は `0` でない。 - $ 1 \leq |S| \leq 5 \times 10^5 $ - すべてのテストケースの $ |S| $ の総和は $ 5 \times 10^5 $ 以下である。