#include <bits/stdc++.h>
const char* s1 =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
const char* s2 = "What are you doing while sending \"";
const char* s3 = "\"? Are you busy? Will you send \"";
const char* s4 = "\"?";
const int l1 = strlen(s1);
const int l2 = strlen(s2);
const int l3 = strlen(s3);
const int l4 = strlen(s4);
const int N = 1e5;
const int64_t MAX = 1000ll * 1000 * 1000 * 1000 * 1000 * 1000;
int Q, n;
int64_t k, len[N + 10];
char query(int n, int64_t k) {
  if (n == 0) return s1[k - 1];
  if (k <= l2) return s2[k - 1];
  if (k > l2 && k <= l2 + len[n - 1]) return query(n - 1, k - l2);
  if (k > l2 + len[n - 1] && k <= l2 + len[n - 1] + l3)
    return s3[k - l2 - len[n - 1] - 1];
  if (k > l2 + len[n - 1] + l3 && k <= l2 + (len[n - 1] << 1) + l3)
    return query(n - 1, k - l2 - len[n - 1] - l3);
  if (k > l2 + (len[n - 1] << 1) + l3)
    return s4[k - l2 - (len[n - 1] << 1) - l3 - 1];
}
int main() {
  len[0] = l1;
  for (int i = 1; i <= N; i++) {
    len[i] = (len[i - 1] << 1) + l2 + l3 + l4;
    if (len[i] > MAX) len[i] = MAX;
  }
  scanf("%d", &Q);
  while (Q--) {
    scanf("%d%lld", &n, &k);
    if (len[n] < k)
      putchar('.');
    else
      putchar(query(n, k));
  }
  return 0;
}
