#include <bits/stdc++.h>
using namespace std;
const long long LLINF = 1e18 + 7;
const int INF = 1e9 + 7;
const int MAX = 1e5 + 7;
const int MOD = 1e9 + 7;
string s[7];
long long q, sz[MAX];
char f(long long n, long long k) {
  if (k >= sz[n]) {
    return '.';
  }
  if (n == 0) return s[0][k];
  if (k < s[1].size()) return s[1][k];
  k -= s[1].size();
  if (k < sz[n - 1]) return f(n - 1, k);
  k -= sz[n - 1];
  if (k < s[2].size()) return s[2][k];
  k -= s[2].size();
  if (k < sz[n - 1]) return f(n - 1, k);
  k -= sz[n - 1];
  if (k < s[3].size()) return s[3][k];
  return '.';
}
int main() {
  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] = "\"?";
  sz[0] = s[0].size();
  for (int i = 1; i <= 55; i++) {
    sz[i] = 2 * sz[i - 1] + s[1].size() + s[2].size() + s[3].size();
  }
  for (int i = 56; i < MAX; i++) {
    sz[i] = LLINF;
  }
  cin >> q;
  string ans = "";
  while (q--) {
    long long n, k;
    cin >> n >> k;
    ans += f(n, k - 1);
  }
  cout << ans;
  return 0;
}
