// Digit Queries #include using namespace std; using ll = long long; long long int power(ll base, ll exp) { if (exp == 0) return 1; else if (exp == 1) return base; else { long long int calc; if (exp % 2 == 0) { calc = power(base, exp/2); calc *= calc; } else { calc = base*power(base, exp-1); } return calc; } } int main() { ll q; cin >> q; for (ll _{}; _ < q; _++) { ll k; cin >> k; if (k < 10) {cout << k << endl; continue;} ll number_length = 1; ll highest_idx = 0; while (highest_idx < k) { highest_idx += number_length * 9 * power(10, number_length-1); number_length++; } number_length--; ll pos = k - highest_idx + number_length * 9 * power(10, number_length - 1) - 1; ll number = pos / (number_length); number += power(10, number_length - 1); // cout << number << " " << number_length << endl; ll decimal_pos = pos % number_length; ll out = (number / (power(10, number_length - decimal_pos - 1))) % 10 ; cout << out << endl; } return 0; }