#include <bits/stdc++.h>
using namespace std;
string s, a, b, c;
long long f[120001], n, i, q, x, y, l, r, nom;
bool abcde;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  s = "What are you doing at the end of the world? Are you busy? Will you save "
      "us?";
  a = "What are you doing while sending \"";
  b = "\"? Are you busy? Will you send \"";
  c = "\"?";
  f[0] = s.size();
  for (i = 1; i <= 100000; i++) {
    f[i] = f[i - 1] * 2 + a.size() + b.size() + c.size();
    if (f[i - 1] > 1000000000000000000LL) break;
  }
  cin >> q;
  while (q--) {
    cin >> x >> y;
    l = 1;
    r = 9000000000000000000LL;
    if (f[x] != 0) r = f[x];
    if (f[x] != 0 && y > f[x]) {
      cout << ".";
      continue;
    }
    abcde = false;
    for (i = x - 1; i >= 0; i--) {
      if (l <= y && y <= l + a.size() - 1) {
        abcde = true;
        cout << a[y - l];
        break;
      }
      if (f[i] == 0) {
        l += a.size();
        if (f[i - 1] != 0)
          r = l + f[i - 1] * 2 + a.size() + b.size() + c.size() - 1;
        continue;
      }
      if (l + a.size() + f[i] <= y && y <= r - c.size() - f[i]) {
        abcde = true;
        cout << b[y - (l + a.size() + f[i])];
        break;
      }
      if (r - c.size() + 1 <= y && y <= r) {
        abcde = true;
        cout << c[y - (r - c.size() + 1)];
        break;
      }
      if (l + a.size() <= y && y <= r - c.size() - f[i] - b.size()) {
        l += a.size();
        r -= c.size() + f[i] + b.size();
      } else {
        l += a.size() + f[i] + b.size();
        r -= c.size();
      }
    }
    if (!abcde) cout << s[y - l];
  }
  cout << '\n';
  return 0;
}
