#include <bits/stdc++.h>
using namespace std;
string f0 =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
int lenf0 = f0.size();
string part1 = "What are you doing while sending \"";
int lenpart1 = part1.size();
string part2 = "\"? Are you busy? Will you send \"";
int lenpart2 = part2.size();
string part3 = "\"?";
int lenpart3 = part3.size();
long long len[100001];
char findk(int n, long long k) {
  if (n == 0) {
    if (k > lenf0) {
      return '.';
    }
    return f0[k - 1];
  }
  if (k <= lenpart1) {
    return part1[k - 1];
  }
  k -= lenpart1;
  if (k <= len[n - 1]) {
    return findk(n - 1, k);
  }
  k -= len[n - 1];
  if (k <= lenpart2) {
    return part2[k - 1];
  }
  k -= lenpart2;
  if (k <= len[n - 1]) {
    return findk(n - 1, k);
  }
  k -= len[n - 1];
  if (k <= lenpart3) {
    return part3[k - 1];
  }
  return '.';
}
int main() {
  int q, i;
  cin >> q;
  int n;
  long long k;
  len[0] = lenf0;
  for (i = 1; i <= 53; i++) {
    len[i] = lenpart1 + lenpart2 + lenpart3 + len[i - 1] * 2;
  }
  for (i = 54; i <= 100000; i++) {
    len[i] = len[53];
  }
  while (q > 0) {
    q--;
    cin >> n >> k;
    cout << findk(n, k);
  }
  return 0;
}
