#include <bits/stdc++.h>
const int MAXN = 1e5 + 4;
int N, Q;
unsigned long long K, slen[MAXN];
char *first = "What are you doing while sending \"";
char *middle = "\"? Are you busy? Will you send \"";
char *last = "\"?";
char *org =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
void search() {
  if (K >= slen[N]) {
    printf(".");
    return;
  }
  while (N > 0) {
    if (K < 34) {
      printf("%c", first[K]);
      return;
    }
    K -= 34;
    if (slen[N - 1] <= K) {
      K -= slen[N - 1];
      if (K < 32) {
        printf("%c", middle[K]);
        return;
      }
      K -= 32;
      if (slen[N - 1] <= K) {
        K -= slen[N - 1];
        printf("%c", last[K]);
        return;
      } else {
        --N;
      }
    } else {
      --N;
    }
  }
  if (!N) {
    printf("%c", org[K]);
  }
}
int main() {
  slen[0] = 75;
  for (int i = 1; i < MAXN; ++i) {
    if (slen[i - 1] > 1e18)
      slen[i] = slen[i - 1];
    else
      slen[i] = 2 * slen[i - 1] + 68;
  }
  for (std::cin >> Q; Q--;) {
    std::cin >> N >> K;
    K--;
    search();
  }
}
