#include <bits/stdc++.h>
using namespace std;
const double PI = acos(-1.0);
const long long INF = 1000 * 1000 * 1000 + 7;
const long long LINF = INF * (long long)INF;
string s0 =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
string s1 = "What are you doing while sending \"";
string s2 = "\"? Are you busy? Will you send \"";
string s3 = "\"?";
const int MAX = 100100;
long long LEN[MAX];
char get(int n, long long k) {
  if (k >= LEN[n]) return '.';
  if (n == 0) return s0[k];
  if (k < (int)s1.size()) return s1[k];
  k -= (int)s1.size();
  if (k < LEN[n - 1]) return get(n - 1, k);
  k -= LEN[n - 1];
  if (k < (int)s2.size()) return s2[k];
  k -= (int)s2.size();
  if (k < LEN[n - 1]) return get(n - 1, k);
  k -= LEN[n - 1];
  if (k < (int)s3.size()) return s3[k];
  return '.';
}
int main() {
  LEN[0] = (int)s0.size();
  for (int i = (1); i < (MAX); i++) {
    double val =
        LEN[i - 1] * 2 + (int)s1.size() + (int)s2.size() + (int)s3.size();
    if (val > 2 * 1e18)
      LEN[i] = LINF;
    else
      LEN[i] =
          LEN[i - 1] * 2 + (int)s1.size() + (int)s2.size() + (int)s3.size();
  }
  int q;
  cin >> q;
  for (int i = (0); i < (q); i++) {
    int n;
    long long k;
    cin >> n >> k;
    k--;
    cout << get(n, k);
  }
  cout << endl;
}
