#include <bits/stdc++.h>
using namespace std;
const int inv = 1000000000;
const int minv = -inv;
const int max_n = 100000 + 5;
const long long max_k = ((long long)(1e18)) + 5ll;
string s, p0, p1, p2;
int q;
int n;
long long k;
long long len[max_n + 1];
int main() {
  s = "What are you doing at the end of the world? Are you busy? Will you save "
      "us?";
  p0 = "What are you doing while sending \"";
  p1 = "\"? Are you busy? Will you send \"";
  p2 = "\"?";
  len[0] = ((long long)(s.length()));
  for (int i = 1; i <= max_n; ++i)
    len[i] =
        min(max_k, 2ll * len[i - 1] +
                       ((long long)(p0.length() + p1.length() + p2.length())));
  scanf("%d", &q);
  for (int z = 0; z < q; ++z) {
    scanf("%d", &n);
    cin >> k;
    if (k > len[n]) {
      printf(".");
      continue;
    }
    bool solved = false;
    char res;
    while (n > 0) {
      if (k <= ((long long)(p0.size()))) {
        res = p0[k - 1];
        solved = true;
        break;
      }
      k -= ((long long)(p0.size()));
      if (k <= len[n - 1]) {
        --n;
        continue;
      }
      k -= len[n - 1];
      if (k <= ((long long)(p1.size()))) {
        res = p1[k - 1];
        solved = true;
        break;
      }
      k -= ((long long)(p1.size()));
      if (k <= len[n - 1]) {
        --n;
        continue;
      }
      k -= len[n - 1];
      res = p2[k - 1];
      solved = true;
      break;
    }
    if (not solved) res = s[k - 1];
    printf("%c", res);
  }
  printf("\n");
  return 0;
}
