#include <bits/stdc++.h>
using namespace std;
const string x = "What are you doing at the end of the world? Are you busy? "
                 "Will you save us?",
             c1 = "What are you doing while sending \"",
             c2 = "\"? Are you busy? Will you send \"", c3 = "\"?";
const int N = 56;
long long layer[N];
void build_layers() {
  int n = N;
  layer[0] = ((int)((x).size()));
  for (__typeof(n) i = 1; i < n; ++i)
    layer[i] = ((int)((c1).size())) + layer[i - 1] + ((int)((c2).size())) +
               layer[i - 1] + ((int)((c3).size()));
}
char find(int n, long long i) {
  if (n == 0) return (i <= ((int)((x).size())) ? x[i - 1] : '.');
  if (i <= ((int)((c1).size()))) return c1[i - 1];
  i -= ((int)((c1).size()));
  if (n >= N) return find(n - 1, i);
  if (i <= layer[n - 1]) return find(n - 1, i);
  i -= layer[n - 1];
  if (i <= ((int)((c2).size()))) return c2[i - 1];
  i -= ((int)((c2).size()));
  if (i <= layer[n - 1]) return find(n - 1, i);
  i -= layer[n - 1];
  if (i <= ((int)((c3).size()))) return c3[i - 1];
  return '.';
}
int main() {
  build_layers();
  int q;
  scanf("%d", &q);
  while (q--) {
    int n;
    long long i;
    scanf("%d %I64d", &n, &i);
    printf("%c", find(n, i));
  }
  return 0;
}
