#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
const int N = 1e5;
int a[N], curr;
int len(int i) {
  if (i == 0) return 0;
  return 1 + len(i / 10);
}
void solve(int x) {
  int l = 1, r = N - 1, m, d;
  while (l < r) {
    m = (l + r) / 2;
    if (x >= a[m] && x < a[m + 1]) {
      d = m;
      break;
    }
    if (x > a[m])
      l = m + 1;
    else
      r = m - 1;
    d = r;
  }
  x -= a[d];
  if (x == 0) {
    cout << d % 10 << endl;
    return;
  }
  for (int i = 1; i <= d + 1; i++) {
    if (i < 10)
      x--;
    else if (i >= 10 && i < 100)
      x -= 2;
    else if (i >= 100 && i < 1000)
      x -= 3;
    else if (i >= 1000 && i < 10000)
      x -= 4;
    else if (i >= 10000 && i < 100000)
      x -= 5;
    if (x == 0) {
      cout << i % 10;
      break;
    } else if (x == -1) {
      cout << (i / 10) % 10;
      break;
    } else if (x == -2) {
      cout << (i / 100) % 10;
      break;
    } else if (x == -3) {
      cout << (i / 1000) % 10;
      break;
    } else if (x == -4) {
      cout << (i / 10000) % 10;
      break;
    } else if (x == -5) {
      cout << (i / 100000) % 10;
      break;
    }
  }
  cout << endl;
  return;
}
int main() {
  for (int i = 1; i < N; i++) {
    curr += len(i);
    a[i] = a[i - 1] + curr;
  }
  int q;
  cin >> q;
  while (q--) {
    int x;
    cin >> x;
    solve(x);
  }
  return 0;
}
