#include <bits/stdc++.h>
using namespace std;
string s0 =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
string s1 = "What are you doing while sending \"";
string s2 = "\"? Are you busy? Will you send \"";
string s3 = "\"?";
long long len[100005];
long long maxm = 1000000000000000000ll;
char ans[15];
int main() {
  int l0 = s0.size(), l1 = s1.size(), l2 = s2.size(), l3 = s3.size();
  int f = 1;
  len[0] = l0;
  while (1) {
    len[f] = 2 * len[f - 1] + l1 + l2 + l3;
    if (len[f] > maxm) break;
    f++;
  }
  int q, n;
  long long k;
  scanf("%d", &q);
  for (int c = 0; c < q; c++) {
    scanf("%d%lld", &n, &k);
    k--;
    if (n <= f && k >= len[n]) {
      ans[c] = '.';
      continue;
    }
    if (n == 0) {
      ans[c] = s0[k];
      continue;
    }
    if (n > f) {
      if (k < n * l1) {
        ans[c] = s1[k % l1];
        continue;
      }
      k = k - (n - f) * l1;
      n = f;
    }
    while (1) {
      if (n == 0) {
        ans[c] = s0[k];
        break;
      }
      long long now = 2 * len[n - 1] + l1 + l2;
      if (k >= now) {
        ans[c] = s3[k - now];
        break;
      }
      now = now - len[n - 1];
      if (k >= now) {
        k = k - now;
        n--;
        continue;
      }
      now = now - l2;
      if (k >= now) {
        ans[c] = s2[k - now];
        break;
      }
      now = now - len[n - 1];
      if (k >= now) {
        k = k - now;
        n--;
        continue;
      }
      ans[c] = s1[k];
      break;
    }
  }
  ans[q] = 0;
  printf("%s\n", ans);
  return 0;
}
