#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <cmath>
#include <string.h>
using namespace std;
#define MAXN 32270
long long a[MAXN];
long long s[MAXN];//int会RE
void init()
{
a[0] = s[0] = 0;
for( int i = 1; i < MAXN; i++)
{
a[i] = a[i-1] +(int)log10(double(i)) + 1;
s[i] = s[i-1] + a[i];
}
return ;
}
int main()
{
int t, n;
scanf("%d",&t);
init();
while(t--)
{
scanf("%d",&n);
int i = 1;
while(s[i] < n) i++;
int pos = n - s[i-1];
int res = 0;
for( i = 1; res < pos; i++)
res += (int)log10(double(i)) + 1;
int ans = ( i - 1)/(int)(pow((double)10,res - pos))%10;
printf("%d\n",ans);
}
}
#include <stdio.h>
#include <stdlib.h>
#include <cmath>
#include <string.h>
using namespace std;
#define MAXN 32270
long long a[MAXN];
long long s[MAXN];//int会RE
void init()
{
a[0] = s[0] = 0;
for( int i = 1; i < MAXN; i++)
{
a[i] = a[i-1] +(int)log10(double(i)) + 1;
s[i] = s[i-1] + a[i];
}
return ;
}
int main()
{
int t, n;
scanf("%d",&t);
init();
while(t--)
{
scanf("%d",&n);
int i = 1;
while(s[i] < n) i++;
int pos = n - s[i-1];
int res = 0;
for( i = 1; res < pos; i++)
res += (int)log10(double(i)) + 1;
int ans = ( i - 1)/(int)(pow((double)10,res - pos))%10;
printf("%d\n",ans);
}
}