会不会数数(hard version)
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

学数学的🦌同学想考考你会不会数数,这是入门数学最基础的门槛,但他不是简单地数数,而是把所有正整数按顺序拼成一个无限长的字符串:“123456789101112131415161718192021...”,然后说出第x位是什么数字。

(可以和解吗)

输入描述:

第一行一个正整数T(1 \leq T \leq 100),表示测试组数。

对于每组测试,第一行一个字整数x(1 \leq x \leq 10^9),表示询问的位置。

输出描述:

对于每组测试,输出一个整数表示第x个位置的数字是多少。
示例1

输入

复制
2
1
11

输出

复制
1
0

备注:

除了数据范围,本题与easy version没有区别,可以直接用hard version的代码通过easy version