#include <bits/stdc++.h>
using namespace std;
long long power(long long a, long long b) {
  if (b == 0) return 1;
  if (b % 2 == 0) return power(a * a % 1000000007, b / 2) % 1000000007;
  return a * power(a, b - 1) % 1000000007;
}
long long gcd(long long a, long long b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
int main() {
  string a =
      "What are you doing at the end of the world? Are you busy? Will you save "
      "us?";
  string b = "What are you doing while sending \"";
  string c = "\"? Are you busy? Will you send \"";
  long long q;
  cin >> q;
  long long arr[100001];
  arr[0] = 75;
  for (int i = 0; i < 100000; i++) {
    if (arr[i] == -1 ||
        (arr[i] * 1ull + 143 * (1ull << i)) > 9223372036854775807)
      arr[i + 1] = -1;
    else
      arr[i + 1] = arr[i] + 143 * (1ull << i);
  }
  string ans = "";
  while (q--) {
    long long n, k;
    cin >> n >> k;
    if (n == 0) {
      if (k > a.size()) {
        ans += '.';
        continue;
      }
      ans += a[k - 1];
      continue;
    }
    while (true) {
      if (arr[n] != -1 && k > arr[n]) {
        ans += '.';
        break;
      }
      if (n == 0) {
        if (k > a.size())
          ans += '.';
        else
          ans += a[k - 1];
        break;
      }
      if (k <= b.size()) {
        ans += b[k - 1];
        break;
      }
      if (arr[n - 1] == -1 || 34 + arr[n - 1] >= k) {
        k -= 34;
        n--;
        continue;
      }
      if (k == arr[n]) {
        ans += "?";
        break;
      }
      if (k == arr[n] - 1) {
        ans += '\"';
        break;
      }
      k -= arr[n - 1] + 34;
      if (k <= c.size()) {
        ans += c[k - 1];
        break;
      }
      k -= 32;
      n--;
    }
  }
  cout << ans;
  return 0;
}
