#include <bits/stdc++.h>
using namespace std;
const long long oo = 3e18, M = 54;
long long q, n, k;
string F =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
string X = "What are you doing while sending \"";
string Y = "\"? Are you busy? Will you send \"";
string Z = "\"?";
long long length(int n) {
  if (n >= M) {
    return oo;
  }
  long long tot = X.size() + Y.size() + Z.size();
  long long len = ((1LL << n) - 1) * tot + (1LL << n) * F.size();
  return len;
}
char solve(long long i, long long k) {
  if (i == 0) {
    return k > F.size() ? '.' : F[k - 1];
  }
  long long len = length(i - 1);
  if (X.size() + len + Y.size() + len + Z.size() < k) {
    return '.';
  } else if (X.size() + len + Y.size() + len < k) {
    k -= X.size() + len + Y.size() + len;
    return Z[k - 1];
  } else if (X.size() + len + Y.size() < k) {
    k -= X.size() + len + Y.size();
    return solve(i - 1, k);
  } else if (X.size() + len < k) {
    k -= X.size() + len;
    return Y[k - 1];
  } else if (X.size() < k) {
    k -= X.size();
    return solve(i - 1, k);
  } else {
    return X[k - 1];
  }
}
int main() {
  cin >> q;
  while (q--) {
    cin >> n >> k;
    cout << solve(n, k);
  }
  return 0;
}
