#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3fffffff;
const int SINF = 0x7fffffff;
const long long LINF = 0x3fffffffffffffff;
const long long SLINF = 0x7fffffffffffffff;
const long long LMAX = static_cast<long long>(2e18);
const int MAXN = 100007;
const int LS = 34;
const int MS = 32;
const int RS = 2;
const int L0 = 75;
const char SL[] = "What are you doing while sending \"";
const char SM[] = "\"? Are you busy? Will you send \"";
const char SR[] = "\"?";
const char S0[] =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
int n;
long long k;
long long f[MAXN];
void init();
void input();
void work();
int main() {
  init();
  int T;
  cin >> T;
  while (T--) {
    input();
    work();
  }
}
void init() {
  ios::sync_with_stdio(false);
  f[0] = L0;
  for (int i = 1; i < MAXN; ++i) {
    if (f[i - 1] >= LMAX)
      f[i] = LINF;
    else
      f[i] = f[i - 1] * 2 + (LS + MS + RS);
  }
}
void input() { cin >> n >> k; }
void work() {
  --k;
  for (int i = n; i > 0; --i) {
    if (k < LS) {
      putchar(SL[k]);
      return;
    }
    k -= LS;
    if (k >= f[i - 1]) {
      k -= f[i - 1];
      if (k < MS) {
        putchar(SM[k]);
        return;
      }
      k -= MS;
      if (k >= f[i - 1]) {
        k -= f[i - 1];
        if (k < RS) {
          putchar(SR[k]);
          return;
        } else {
          putchar('.');
          return;
        }
      }
    }
  }
  if (k < L0)
    putchar(S0[k]);
  else
    putchar('.');
}
