#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
string s0 =
    " What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
string spre = " What are you doing while sending \"";
string son = " \"? Are you busy? Will you send \"";
string slast = " \"?";
int n, m, t, p, now, s0size = s0.size() - 1, spresize = spre.size() - 1,
                     sonsize = son.size() - 1, slastsize = slast.size() - 1;
long long k;
bool flag;
long long ss[N];
int T;
void dfs(int n, long long pos) {
  if (flag) return;
  if (n == 0) {
    if (pos + s0size >= k) {
      printf("%c", s0[k - pos]);
      flag = 1;
      return;
    } else
      return;
  }
  if (pos + spresize >= k) {
    printf("%c", spre[k - pos]);
    flag = 1;
    return;
  } else
    pos += spresize;
  if (ss[n - 1] == 0) {
    dfs(n - 1, pos);
    pos += ss[n - 1];
  } else {
    if (pos + ss[n - 1] >= k)
      dfs(n - 1, pos);
    else
      pos += ss[n - 1];
  }
  if (flag) return;
  if (pos + sonsize >= k) {
    printf("%c", son[k - pos]);
    flag = 1;
    return;
  } else
    pos += sonsize;
  if (pos + ss[n - 1] >= k)
    dfs(n - 1, pos);
  else
    pos += ss[n - 1];
  if (flag) return;
  if (pos + slastsize >= k) {
    printf("%c", slast[k - pos]);
    flag = 1;
    return;
  } else
    pos += slastsize;
  ss[n] = spresize + ss[n - 1] + sonsize + ss[n - 1] + slastsize;
  return;
}
int main() {
  ss[0] = s0size;
  scanf("%d", &T);
  while (T--) {
    scanf("%d%lld", &n, &k);
    flag = 0;
    dfs(n, 0);
    if (!flag) printf(".");
  }
  printf("\n");
  return 0;
}
