#include <bits/stdc++.h>
using namespace std;
const int MAXN = 55;
const string F0 =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
const string S1 = "What are you doing while sending \"";
const string S2 = "\"? Are you busy? Will you send \"";
const string S3 = "\"?";
int Q, N;
long long K;
long long len[MAXN + 1];
char go(int idx, long long pos) {
  if (pos >= len[idx]) return '.';
  if (idx == 0) return F0[pos];
  if (pos < S1.size()) return S1[pos];
  pos -= S1.size();
  if (pos < len[idx - 1]) return go(idx - 1, pos);
  pos -= len[idx - 1];
  if (pos < S2.size()) return S2[pos];
  pos -= S2.size();
  if (pos < len[idx - 1]) return go(idx - 1, pos);
  pos -= len[idx - 1];
  if (pos < S3.size()) return S3[pos];
  return '.';
}
char go1(int idx, long long pos) {
  if (pos < (long long)(idx - MAXN) * S1.size()) return S1[pos % S1.size()];
  return go(MAXN, pos - (long long)(idx - MAXN) * S1.size());
}
int main() {
  ios::sync_with_stdio(0);
  cin >> Q;
  len[0] = F0.size();
  for (int i = 1; i <= MAXN; i++)
    len[i] = 2 * len[i - 1] + S1.size() + S2.size() + S3.size();
  for (int i = 0; i < Q; i++) {
    cin >> N >> K;
    if (N > MAXN)
      cout << go1(N, K - 1);
    else
      cout << go(N, K - 1);
  }
  cout << "\n";
  return 0;
}
