#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?";
string fi1 = "What are you doing while sending \"";
string fi2 = "\"? Are you busy? Will you send \"";
string fi3 = "\"?";
string ff =
    "What are you doing while sending \"What are you doing at the end of the "
    "world? Are you busy? Will you save us?\"? Are you busy? Will you send "
    "\"What are you doing at the end of the world? Are you busy? Will you save "
    "us?\"?";
string answer;
long long l0, li1, li2, li3;
long long q, n, k, maxn = 53;
long long len[54];
void prep() {
  l0 = f0.size();
  li1 = fi1.size();
  li2 = fi2.size();
  li3 = fi3.size();
  len[0] = l0;
  for (int i = 1; i <= maxn; i++) {
    len[i] = 2 * len[i - 1] + li1 + li2 + li3;
  }
}
char ans(long long n, long long k) {
  if (n > maxn)
    return k <= (n - maxn) * li1 ? fi1[(k - 1) % li1]
                                 : ans(maxn, k - (n - maxn) * li1);
  if (k > len[n]) return '.';
  if (n == 0) return f0[k - 1];
  if (k <= li1) return fi1[k - 1];
  if (k <= li1 + len[n - 1]) return ans(n - 1, k - li1);
  if (k <= li1 + len[n - 1] + li2) return fi2[k - li1 - len[n - 1] - 1];
  if (k <= li1 + len[n - 1] + li2 + len[n - 1])
    return ans(n - 1, k - li1 - len[n - 1] - li2);
  return fi3[k - li1 - len[n - 1] - li2 - len[n - 1] - 1];
}
int main() {
  prep();
  cin >> q;
  for (int i = 1; i <= q; i++) {
    cin >> n >> k;
    answer += ans(n, k);
  }
  cout << answer << endl;
  return 0;
}
