CF1455A.Strange Functions

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Strange Functions

Let's define a function f(x)f(x) (xx is a positive integer) as follows: write all digits of the decimal representation of xx backwards, then get rid of the leading zeroes. For example, f(321)=123f(321) = 123, f(120)=21f(120) = 21, f(1000000)=1f(1000000) = 1, f(111)=111f(111) = 111.

Let's define another function g(x)=xf(f(x))g(x) = \dfrac{x}{f(f(x))} (xx is a positive integer as well).

Your task is the following: for the given positive integer nn, calculate the number of different values of g(x)g(x) among all numbers xx such that 1xn1 \le x \le n.

Input

The first line contains one integer tt (1t1001 \le t \le 100) — the number of test cases.

Each test case consists of one line containing one integer nn (1n<101001 \le n \lt 10^{100}). This integer is given without leading zeroes.

Output

For each test case, print one integer — the number of different values of the function g(x)g(x), if xx can be any integer from [1,n][1, n].

Note

Explanations for the two first test cases of the example:

  1. if n=4n = 4, then for every integer xx such that 1xn1 \le x \le n, xf(f(x))=1\dfrac{x}{f(f(x))} = 1;
  2. if n=37n = 37, then for some integers xx such that 1xn1 \le x \le n, xf(f(x))=1\dfrac{x}{f(f(x))} = 1 (for example, if x=23x = 23, f(f(x))=23f(f(x)) = 23,xf(f(x))=1\dfrac{x}{f(f(x))} = 1); and for other values of xx, xf(f(x))=10\dfrac{x}{f(f(x))} = 10 (for example, if x=30x = 30, f(f(x))=3f(f(x)) = 3, xf(f(x))=10\dfrac{x}{f(f(x))} = 10). So, there are two different values of g(x)g(x).

Samples

5
4
37
998244353
1000000007
12345678901337426966631415
1
2
9
10
26

在线编程 IDE

建议全屏模式获得最佳体验