#include <bits/stdc++.h>
using namespace std;
string prev1 = "What are you doing while sending \"",
       prev2 = "\"? Are you busy? Will you send \"", suff = "\"?",
       f0 = "What are you doing at the end of the world? Are you busy? Will "
            "you save us?";
long long si1, si2, si3, si;
long long tab[60];
char f(long long n, long long k) {
  if (n == 0)
    if (k <= f0.size())
      return f0[k - 1];
    else
      return '.';
  if (k <= si1)
    return prev1[k - 1];
  else if (n > 54 || k <= tab[n - 1] + si1)
    return f(n - 1, k - si1);
  else if (k <= tab[n - 1] + si1 + si2)
    return prev2[k - tab[n - 1] - si1 - 1];
  else if (k <= 2 * tab[n - 1] + si1 + si2)
    return f(n - 1, k - tab[n - 1] - si1 - si2);
  else if (k <= tab[n])
    return suff[k - 2 * tab[n - 1] - si1 - si2 - 1];
  return '.';
}
void init() {
  tab[0] = f0.size();
  int i = 1;
  while (i < 55) {
    tab[i] = 2 * tab[i - 1] + si;
    i++;
  }
}
int main() {
  long long q, n, k;
  cin >> q;
  si1 = prev1.size(), si2 = prev2.size(), si3 = suff.size();
  si = si1 + si2 + si3;
  init();
  while (q--) {
    cin >> n >> k;
    cout << f(n, k);
  }
  return 0;
}
