codeforces#P1411B. Fair Numbers

Fair Numbers

Description

We call a positive integer number fair if it is divisible by each of its nonzero digits. For example, $102$ is fair (because it is divisible by $1$ and $2$), but $282$ is not, because it isn't divisible by $8$. Given a positive integer $n$. Find the minimum integer $x$, such that $n \leq x$ and $x$ is fair.

The first line contains number of test cases $t$ ($1 \leq t \leq 10^3$). Each of the next $t$ lines contains an integer $n$ ($1 \leq n \leq 10^{18}$).

For each of $t$ test cases print a single integer — the least fair number, which is not less than $n$.

Input

The first line contains number of test cases $t$ ($1 \leq t \leq 10^3$). Each of the next $t$ lines contains an integer $n$ ($1 \leq n \leq 10^{18}$).

Output

For each of $t$ test cases print a single integer — the least fair number, which is not less than $n$.

Samples

4
1
282
1234567890
1000000000000000000
1
288
1234568040
1000000000000000000

Note

Explanations for some test cases:

  • In the first test case number $1$ is fair itself.
  • In the second test case number $288$ is fair (it's divisible by both $2$ and $8$). None of the numbers from $[282, 287]$ is fair, because, for example, none of them is divisible by $8$.