#include <bits/stdc++.h>
using namespace std;
void read(long long &x) {
  x = 0;
  long long f = 1;
  char ch = getchar();
  for (; !isdigit(ch); ch = getchar())
    if (ch == '-') f = -f;
  for (; isdigit(ch); ch = getchar()) x = x * 10 + ch - '0';
  x *= f;
}
void print(long long x) {
  if (x < 0) putchar('-'), x = -x;
  if (!x) return;
  print(x / 10), putchar(x % 10 + 48);
}
void write(long long x) {
  if (!x)
    putchar('0');
  else
    print(x);
  putchar('\n');
}
const long long maxn = 1e6 + 10;
const long long inf = 1e9;
const double eps = 1e-8;
const long long mod = 1e9 + 7;
char c[] =
    "-What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
char c1[] = "-What are you doing while sending \"";
char c2[] = "-\"? Are you busy? Will you send \"";
char c3[] = "-\"?";
long long f[maxn];
void pre() {
  f[0] = 75;
  for (long long i = 1; f[i - 1] <= 1e18; i++) f[i] = 68 + f[i - 1] * 2;
  for (long long i = 1; i <= 1e5; i++)
    if (!f[i]) f[i] = f[i - 1];
}
char get(long long n, long long k) {
  if (!n) return c[k];
  if (k <= 34) return c1[k];
  k -= 34;
  if (k <= f[n - 1]) return get(n - 1, k);
  k -= f[n - 1];
  if (k <= 32) return c2[k];
  k -= 32;
  if (k <= f[n - 1]) return get(n - 1, k);
  k -= f[n - 1];
  return c3[k];
}
void solve() {
  long long n, k;
  read(n), read(k);
  if (k > f[n]) return putchar('.'), void();
  putchar(get(n, k));
}
signed main() {
  pre();
  long long t;
  read(t);
  while (t--) solve();
  return 0;
}
