#include <bits/stdc++.h>
using namespace std;
int special;
string s =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
string foo = "What are you doing while sending ";
string bar = "? Are you busy? Will you send ";
long long len[100010];
void solve(int n, long long k) {
  if (!n) {
    cout << s[k - 1];
    return;
  }
  if (k <= foo.size()) {
    cout << foo[k - 1];
    return;
  }
  if (k <= foo.size() + 1) {
    putchar('"');
    return;
  }
  if (n > special + 1 || k <= foo.size() + 1 + len[n - 1]) {
    solve(n - 1, k - foo.size() - 1);
    return;
  }
  if (k <= foo.size() + 1 + len[n - 1] + 1) {
    putchar('"');
    return;
  }
  if (k <= foo.size() + 1 + len[n - 1] + 1 + bar.size()) {
    cout << bar[k - foo.size() - len[n - 1] - 3];
    return;
  }
  if (k <= foo.size() + 1 + len[n - 1] + 1 + bar.size() + 1) {
    putchar('"');
    return;
  }
  if (k <= foo.size() + 1 + len[n - 1] + 1 + bar.size() + 1 + len[n - 1]) {
    solve(n - 1, k - (foo.size() + 1 + len[n - 1] + 1 + bar.size() + 1));
    return;
  }
  if (k <= foo.size() + 1 + len[n - 1] + 1 + bar.size() + 1 + len[n - 1] + 1) {
    putchar('"');
    return;
  }
  cout << "?";
}
int main() {
  int q;
  scanf("%d", &q);
  len[0] = 1LL * s.size();
  for (int i = 1;; ++i) {
    len[i] = 1LL * foo.size() + 1LL + len[i - 1] + 1LL + 1LL * bar.size() +
             1LL + len[i - 1] + 2LL;
    if (len[i] > (long long)(1e18)) {
      special = i - 1;
      break;
    }
  }
  while (q--) {
    int n;
    long long k;
    scanf("%d %I64d", &n, &k);
    if (n <= special && k > len[n]) {
      printf(".");
      continue;
    }
    solve(n, k);
  }
  return 0;
}
