#include <bits/stdc++.h>
using namespace std;
ofstream fo("test.out");
ifstream fi("test.inp");
int n, rs, t;
string s[100005];
long long dodai[100005];
char Rua(int x, long long k) {
  if (x == 0)
    return s[0][k - 1];
  else {
    long long t = s[1].length();
    if (k <= t)
      return s[1][k - 1];
    else {
      if (k <= t + dodai[x - 1]) {
        k -= t;
        return Rua(x - 1, k);
      } else {
        t += dodai[x - 1];
        if (k <= t + s[2].length()) {
          return s[2][k - t - 1];
        } else {
          t += s[2].length();
          if (k <= t + dodai[x - 1]) {
            k -= t;
            return Rua(x - 1, k);
          } else {
            t += dodai[x - 1];
            if (k <= t + s[3].length())
              return s[3][k - t - 1];
            else
              return '.';
          }
        }
      }
    }
  }
}
int main() {
  cin >> n;
  s[0] =
      "What are you doing at the end of the world? Are you busy? Will you save "
      "us?";
  s[1] = "What are you doing while sending \"";
  s[2] += "\"? Are you busy? Will you send \"";
  s[3] = "\"?";
  dodai[0] = s[0].length();
  for (int i = 1; i <= 1e5; i++) {
    dodai[i] = s[1].length() + dodai[i - 1] + s[2].length() + dodai[i - 1] +
               s[3].length();
    if (dodai[i] > 1e18) dodai[i] = 1e18;
  }
  for (int i = 0; i < n; i++) {
    int x;
    long long k;
    cin >> x >> k;
    if (x == 0) {
      if (k <= s[0].length()) {
        cout << s[0][k - 1];
        continue;
      } else
        cout << ".";
      continue;
    }
    char t = Rua(x, k);
    cout << t;
  }
  return 0;
}
