#include <bits/stdc++.h>
using namespace std;
const unsigned long long maxx = 1000000000000000005;
string s0 =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
string part1 = "What are you doing while sending \"";
string part2 = "\"? Are you busy? Will you send \"";
string part3 = "\"?";
long long len[100003];
long long Min(long long xx, long long yy) {
  if (xx < yy) return xx;
  return yy;
}
void pre() {
  len[0] = s0.size();
  for (int i = 1; i <= 100002; i++) {
    len[i] = 2 * len[i - 1] + part1.size() + part2.size() + part3.size();
    len[i] = Min(len[i], maxx);
  }
}
char solve(int n, long long k) {
  if (k >= len[n]) return '.';
  if (n == 0) return s0[k];
  if (k < part1.size()) return part1[k];
  k -= part1.size();
  if (k < len[n - 1]) return solve(n - 1, k);
  k -= len[n - 1];
  if (k < part2.size()) return part2[k];
  k -= part2.size();
  if (k < len[n - 1]) return solve(n - 1, k);
  k -= len[n - 1];
  return part3[k];
}
int main() {
  int p;
  pre();
  while (scanf("%d", &p) != EOF) {
    while (p--) {
      int n;
      long long k;
      cin >> n >> k;
      cout << solve(n, k - 1);
    }
    cout << endl;
  }
  return 0;
}
