#include <bits/stdc++.h>
using namespace std;
const int maxn = 100050;
long long INF = 1000000000000000000;
const string s1 =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
const string s2 = "What are you doing while sending \"";
const string s3 = "\"? Are you busy? Will you send \"";
const string s4 = "\"?";
long long len1, len2, len3, len4;
long long len[maxn];
void dfs(long long n, long long k) {
  if (n == 0) {
    cout << s1[k - 1];
  } else if (k <= len2) {
    cout << s2[k - 1];
  } else if (k <= len2 + len[n - 1]) {
    k -= len2;
    dfs(n - 1, k);
  } else if (k <= len2 + len[n - 1] + len3) {
    k -= len2 + len[n - 1];
    cout << s3[k - 1];
  } else if (k <= len2 + len[n - 1] + len3 + len[n - 1]) {
    k -= len2 + len[n - 1] + len3;
    dfs(n - 1, k);
  } else {
    k -= len2 + len[n - 1] + len3 + len[n - 1];
    cout << s4[k - 1];
  }
}
int main() {
  len1 = s1.length();
  len2 = s2.length();
  len3 = s3.length();
  len4 = s4.length();
  len[0] = len1;
  for (int i = 1; i < maxn; ++i) {
    len[i] = min(len2 + len[i - 1] + len3 + len[i - 1] + len4, INF);
  }
  long long q, n, k;
  cin >> q;
  while (q--) {
    cin >> n >> k;
    if (n == 0 && k <= len1) {
      cout << s1[k - 1];
    } else if (k <= len[n]) {
      dfs(n, k);
    } else {
      cout << ".";
    }
  }
  cout << endl;
}
