#include <bits/stdc++.h>
using namespace std;
const long long INF = 1e9;
const long long MOD = 228228227;
const string f0 =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
const string fstart = "What are you doing while sending \"";
const string fmid = "\"? Are you busy? Will you send \"";
const string fend = "\"?";
const int MAXN = 1e5;
long long memory[MAXN + 228];
long long get_length(long long n) {
  if (n == 0) return (long long)f0.length();
  if (memory[n] != -1) return memory[n];
  memory[n] = min((long long)fstart.length() + get_length(n - 1) +
                      (long long)fmid.length() + get_length(n - 1) +
                      (long long)fend.length(),
                  (long long)2e18);
  return memory[n];
}
bool get_answer(long long n, long long k) {
  if (n < 0 || k < 0) return false;
  if (k >= get_length(n)) return false;
  if (n == 0) {
    cout << f0[k];
    return true;
  }
  if (k >= 0 && k < (long long)fstart.length()) {
    cout << fstart[k];
    return true;
  }
  k -= (long long)fstart.length();
  if (get_answer(n - 1, k)) return true;
  k -= get_length(n - 1);
  if (k >= 0 && k < (long long)fmid.length()) {
    cout << fmid[k];
    return true;
  }
  k -= (long long)fmid.length();
  if (get_answer(n - 1, k)) return true;
  k -= get_length(n - 1);
  if (k >= 0 && k < (long long)fend.length()) {
    cout << fend[k];
    return true;
  }
  cout << ".";
  return true;
}
void solve() {
  int q;
  cin >> q;
  for (int i = 0; i < MAXN + 1; i++) memory[i] = -1;
  long long n, k;
  while (q--) {
    cin >> n >> k;
    if (!get_answer(n, k - 1)) cout << ".";
  }
}
signed main() {
  cin.tie(NULL);
  ios_base::sync_with_stdio(false);
  solve();
}
