#include <bits/stdc++.h>
using namespace std;
const long long inf = 1e18 + 7;
long long n, k, q, m;
string a =
    " What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
string b = " What are you doing while sending \"";
string c = " \"? Are you busy? Will you send \"";
string d = " \"?";
char s[15];
long long lena = 75, lenb = 34, lenc = 32, lend = 2;
int flag, f, cnt;
long long len(long long x) {
  if (x >= 54) return inf;
  return ((1LL << x) - 1LL) * (lena + lenb + lenc + lend) + lena;
}
int check(long long l, long long r, long long x) {
  if (x >= l && x <= r) return 1;
  return 0;
}
void dfs(long long x) {
  if (x == 0 || flag) return;
  long long m = len(x - 1);
  if (check(1, lenb, k)) {
    f = 2;
    flag = 1;
  }
  if (check(lenb + m + 1, lenb + m + lenc, k)) {
    f = 3;
    k -= lenb + m;
    flag = 1;
  }
  if (check(lenb + 2 * m + lenc + 1, lenb + 2 * m + lenc + lend, k)) {
    f = 4;
    k -= lenb + 2 * m + lenc;
    flag = 1;
  }
  if (flag) return;
  if (lenb + 1 <= k && k <= lenb + m) {
    k -= lenb;
    dfs(x - 1);
  } else {
    k -= lenb + m + lenc;
    dfs(x - 1);
  }
}
int main() {
  scanf("%lld", &q);
  while (q--) {
    scanf("%lld%lld", &n, &k);
    if (k > len(n))
      s[cnt++] = '.';
    else {
      f = 1;
      flag = 0;
      dfs(n);
      if (f == 1)
        s[cnt++] = a[k];
      else if (f == 2)
        s[cnt++] = b[k];
      else if (f == 3)
        s[cnt++] = c[k];
      else
        s[cnt++] = d[k];
    }
  }
  for (int i = 0; i < cnt; i++) printf("%c", s[i]);
  printf("\n");
  return 0;
}
