#include <bits/stdc++.h>
using namespace std;
const string kStart =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
const string kPrefix = "What are you doing while sending \"";
const string kCenter = "\"? Are you busy? Will you send \"";
const string kTail = "\"?";
const int64_t kMaxK = 1.0E18;
const int64_t kInf = numeric_limits<int64_t>::max();
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  int Q;
  cin >> Q;
  vector<int64_t> L;
  L.push_back(75);
  for (;;) {
    int64_t cand = 68 + 2 * L.back();
    if (cand > kMaxK) {
      break;
    }
    L.push_back(cand);
  }
  string R;
  for (int q = 0; q < Q; ++q) {
    int N;
    int64_t K;
    cin >> N >> K;
    if (N < L.size()) {
      if (K > L[N]) {
        R += '.';
        continue;
      }
    }
    for (;;) {
      if (N == 0) {
        R += kStart[K - 1];
        break;
      }
      if (K <= kPrefix.size()) {
        R += kPrefix[K - 1];
        break;
      }
      int64_t prev_len = N - 1 < L.size() ? L[N - 1] : kInf;
      if (prev_len == kInf || K <= kPrefix.size() + prev_len) {
        --N;
        K -= kPrefix.size();
        continue;
      }
      if (K <= kPrefix.size() + prev_len + kCenter.size()) {
        R += kCenter[K - kPrefix.size() - prev_len - 1];
        break;
      }
      if (K <= kPrefix.size() + 2 * prev_len + kCenter.size()) {
        --N;
        K -= kPrefix.size() + kCenter.size() + prev_len;
        continue;
      }
      R += kTail[K - 2 * prev_len - kPrefix.size() - kCenter.size() - 1];
      break;
    }
  }
  cout << R << '\n';
  return 0;
}
