#include <bits/stdc++.h>
const int inf = 0x3f3f3f3f;
const double PI = acos(-1);
const double eps = 1e-9;
using namespace std;
const unsigned long long mod = 1e9 + 7;
char f[] = {
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?"};
char f1[] = {"What are you doing while sending \""};
char f2[] = {"\"? Are you busy? Will you send \""};
char f3[] = {"\"?"};
unsigned long long ans, t, i, j, k, n;
int m;
unsigned long long num[70];
int a[1005];
char dfs(unsigned long long pos, int mid) {
  if (mid > 55 && pos > 34) {
    return dfs(pos - 34, mid - 1);
  }
  mid = min(mid, 55);
  if (pos > num[mid]) {
    return '.';
  }
  if (mid == 0) {
    if (pos) return f[(int)(pos - 1)];
    return '.';
  }
  if (pos <= 34) {
    return f1[(int)(pos - 1)];
  } else if (pos <= 34 + num[mid - 1]) {
    dfs(pos - 34, mid - 1);
  } else if (pos <= 34 + 32 + num[mid - 1]) {
    pos -= 34 + num[mid - 1];
    return f2[(int)(pos - 1)];
  } else if (pos <= 34 + 32 + 2 * num[mid - 1]) {
    dfs(pos - (34 + 32 + num[mid - 1]), mid - 1);
  } else {
    pos -= 34 + 32 + 2 * num[mid - 1];
    return f3[(int)(pos - 1)];
  }
}
char s[20];
int main() {
  num[0] = 75;
  k = 1;
  for (int i = 1; num[i - 1] > num[i - 2]; i++, k++) {
    num[i] = num[i - 1] * 2 + 68;
  }
  while (scanf("%d", &n) != EOF) {
    for (int i = 0; i < n; i++) {
      scanf("%d%lld", &m, &k);
      s[i] = dfs(k, m);
    }
    for (int i = 0; i < n; i++) {
      printf("%c", s[i]);
    }
    printf("\n");
  }
  return 0;
}
