#include <bits/stdc++.h>
char a[] =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
char b[] =
    "What are you doing while sending \"What are you doing at the end of the "
    "world? Are you busy? Will you save us?\"? Are you busy? Will you send "
    "\"What are you doing at the end of the world? Are you busy? Will you save "
    "us?\"?";
char head[] = "What are you doing while sending \"";
char mid[] = "\"? Are you busy? Will you send \"";
char ed[] = "\"?";
long long hl, ml, al;
long long len[10000];
int mxn = 52;
char dfs(int i, long long k) {
  if (i == 0) {
    if (k > al) return '.';
    return a[k - 1];
  }
  if (k <= hl) {
    return head[k - 1];
  }
  if (i > 53) {
    return dfs(i - 1, k - hl);
  }
  if (k > hl && k <= hl + len[i - 1]) {
    return dfs(i - 1, k - hl);
  }
  if (k > hl + len[i - 1] && k <= hl + len[i - 1] + ml) {
    return mid[k - hl - len[i - 1] - 1];
  }
  if (k > hl + len[i - 1] + ml && k <= hl + len[i - 1] + ml + len[i - 1]) {
    return dfs(i - 1, k - (hl + len[i - 1] + ml));
  }
  if (k <= hl + len[i - 1] + ml + len[i - 1] + 2) {
    return ed[k - (hl + len[i - 1] + ml + len[i - 1]) - 1];
  }
  return '.';
}
int main() {
  al = strlen(a);
  hl = strlen(head);
  ml = strlen(mid);
  len[0] = strlen(a);
  for (int i = 1; i <= mxn; i++) {
    len[i] = len[i - 1] * 2 + ml + hl + 2;
  }
  int q;
  scanf("%d", &q);
  while (q--) {
    long long n, k;
    scanf("%lld %lld", &n, &k);
    printf("%c", dfs(n, k));
  }
  return 0;
}
