#CYF0053. 普通的数字

普通的数字

题目背景

C 将十进制数字每一位都相同的数字称为普通的数字,比如:1,2,3,4,221, 2, 3, 4, 22 都是普通的数字,而 12,13,10012, 13, 100 就不是普通的数字。

题目描述

现在小 C 已知数据的范围是 1 ~ n ,请求出这个范围内有多少个普通的数字。

输入格式

输入多行。

第一行输入一个 tt ,代表有 tt 组测试数据。

接下来 tt 行,每行一个正整数 nn ,代表数据的范围。

输出格式

输出多行。

对于每一组测试数据,输出该范围内有多少个普通的数字。

样例 #1

样例输入 #1

10
1
2
3
4
5
100
999
989
10000000
12345678

样例输出 #1

1
2
3
4
5
18
27
26
63
64

提示

样例解释】:

  • 对于第五组样例,1 ~ 5 范围内有 55 个普通的数字,分别是 1,2,3,4,51, 2, 3, 4, 5

  • 对于第六组样例,1 ~ 100 范围内有 1818 个普通的数字,分别是 $1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99$ 。

数据范围】:

测试点编号 nn \geq nn \leq
01 ~ 10 11 10310^3
11 ~ 15 10510^5
16 ~ 20 101810^{18}

对于 100%100\% 的数据,保证 1t103,1n10181 \leq t \leq 10^3, 1 \leq n \leq 10^{18}