#include <bits/stdc++.h>
using namespace std;
const string f0 =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
const string start = "What are you doing while sending \"";
const string mid = "\"? Are you busy? Will you send \"";
const string endi = "\"?";
long long f[60];
char solve(int n, long long k) {
  if (n <= 55 && k >= f[n]) return '.';
  if (n == 0) return f0[k];
  if (n > 55) {
    if (k < (int)start.size())
      return start[k];
    else
      return solve(n - 1, k - start.size());
  }
  if (k < (int)start.size()) {
    return start[k];
  } else if (k < (int)start.size() + f[n - 1]) {
    return solve(n - 1, k - start.size());
  } else if (k < (int)start.size() + f[n - 1] + (int)mid.size())
    return mid[k - (int)start.size() - f[n - 1]];
  else if (k < (int)start.size() + 2 * f[n - 1] + (int)mid.size())
    return solve(n - 1, k - (int)start.size() - f[n - 1] - (int)mid.size());
  else
    return endi[k - (int)start.size() - 2 * f[n - 1] - (int)mid.size()];
}
int main() {
  f[0] = f0.size();
  for (int i = 1; i < 60; i++) {
    f[i] = 2 * f[i - 1] + start.size() + mid.size() + endi.size();
  }
  int q;
  cin >> q;
  while (q--) {
    int n;
    long long k;
    cin >> n >> k;
    k--;
    cout << solve(n, k);
  }
  return 0;
}
