#include <bits/stdc++.h>
using namespace std;
char f0[] =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?\0";
char f11[] = "What are you doing while sending \"\0";
char f12[] = "\"? Are you busy? Will you send \"\0";
char f13[] = "\"?\0";
long long sz[60];
int l0, l11, l12, l13;
long long getsize(int dep) {
  if (dep == 0) {
    sz[dep] = strlen(f0);
    return strlen(f0);
  }
  long long tmp = getsize(dep - 1);
  sz[dep] = (long long)strlen(f11) + tmp + strlen(f12) + tmp + strlen(f13);
  return sz[dep];
}
char solve(long long pos, int dep) {
  if (dep == 0) {
    if (pos > l0) return '.';
    return f0[pos - 1];
  }
  if (pos <= l11) {
    return f11[pos - 1];
  }
  if (dep - 1 > 55) {
    return solve(pos - l11, dep - 1);
  }
  if (pos <= l11 + sz[dep - 1]) {
    return solve(pos - l11, dep - 1);
  }
  if (pos <= l11 + sz[dep - 1] + l12) {
    return f12[pos - l11 - sz[dep - 1] - 1];
  }
  if (dep > 55) {
    return solve(pos - (l11 + sz[dep - 1] + l12), dep - 1);
  }
  if (pos <= l11 + sz[dep - 1] + l12 + sz[dep - 1]) {
    return solve(pos - (l11 + sz[dep - 1] + l12), dep - 1);
  }
  return f13[pos - (l11 + sz[dep - 1] + l12 + sz[dep - 1]) - 1];
}
int main() {
  l0 = strlen(f0);
  l11 = strlen(f11);
  l12 = strlen(f12);
  l13 = strlen(f13);
  getsize(55);
  int q;
  scanf("%d", &q);
  for (int i = 1; i <= q; i++) {
    int n;
    long long k;
    scanf("%d%I64d", &n, &k);
    if (n <= 55 && k > sz[n]) {
      printf(".");
      continue;
    }
    printf("%c", solve(k, n));
  }
}
