#include <bits/stdc++.h>
using namespace std;
string s =
    "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 = "\"?";
string s4 =
    "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?\"?";
long long sz[100010];
int p[110];
int ck(long long x) {
  int cnt = 0;
  while (x) {
    p[cnt++] = x % 10;
    x /= 10;
  }
  return cnt;
}
char get(int n, long long id) {
  if (id >= sz[n]) return '.';
  if (n == 0) return s[id];
  if (id < 34) return s1[id];
  if (id < 34LL + sz[n - 1]) return get(n - 1, id - 34);
  long long temp = 34LL + sz[n - 1] + 32LL;
  if (id < temp) return s2[id - 34 - sz[n - 1]];
  temp += sz[n - 1];
  if (id < temp) return get(n - 1, id - 34 - sz[n - 1] - 32);
  temp += 2LL;
  if (id < temp) return s3[id - 34 - sz[n - 1] * 2 - 32];
}
int main() {
  long long pre = 75;
  int r;
  sz[0] = 75;
  for (int i = 1; i < 100010; i++) {
    long long cur = 68LL + sz[i - 1] * 2;
    sz[i] = min(cur, 1000000000000000010LL);
  }
  int m;
  scanf("%d", &m);
  char res[10010];
  int cnt = 0;
  while (m--) {
    long long x, y;
    cin >> x >> y;
    y--;
    res[cnt++] = get(x, y);
  }
  res[cnt] = 0;
  puts(res);
}
