#include <bits/stdc++.h>
using namespace std;
const int kN = 1e5 + 1;
long long dp[kN];
string f0 =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
string fl = "What are you doing while sending \"";
string fm = "\"? Are you busy? Will you send \"";
string fr = "\"?";
long long nl = fl.size(), nm = fm.size(), nr = fr.size();
const long long inf = 2e18;
void Init() {
  dp[0] = f0.size();
  for (int i = 1; i < kN; ++i) {
    if (dp[i - 1] >= inf) {
      dp[i] = inf;
    } else {
      dp[i] = dp[i - 1] * 2 + nl + nm + nr;
    }
  }
}
char Find(int n, long long k) {
  if (dp[n] < k) {
    return '.';
  }
  if (n == 0) {
    return f0[k - 1];
  }
  if (k <= nl) {
    return fl[k - 1];
  }
  k -= nl;
  if (k <= dp[n - 1]) {
    return Find(n - 1, k);
  }
  k -= dp[n - 1];
  if (k <= nm) {
    return fm[k - 1];
  }
  k -= nm;
  if (k <= dp[n - 1]) {
    return Find(n - 1, k);
  }
  k -= dp[n - 1];
  return fr[k - 1];
}
int main() {
  Init();
  int q, n;
  long long k;
  cin >> q;
  for (int i = 0; i < q; ++i) {
    cin >> n >> k;
    cout << Find(n, k);
  }
  cout << endl;
  return 0;
}
