#include <bits/stdc++.h>
using namespace std;
template <class input, class T>
inline input& operator>>(input& in, vector<T>& arr) {
  for (T& a : arr) in >> a;
  return in;
}
template <class output, class T>
inline output& operator<<(output& out, const vector<T>& arr) {
  for (const T& a : arr) out << a << " ";
  return out;
}
template <class output, class T>
inline void p_lines(const vector<T>& arr, output& out = cout) {
  for (const T& a : arr) out << a << "\n";
}
int64_t stoll(const string& s) {
  int64_t ret = 0;
  for (char c : s) ret = (ret * 10) + (c - '0');
  return ret;
}
string lltos(int64_t n) {
  string ret = "";
  for (; n > 0; n /= 10) ret.push_back(n % 10 + '0');
  reverse(ret.begin(), ret.end());
  return ret;
}
string s0 =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
string s1 = "What are you doing while sending \"";
string s2 = "\"? Are you busy? Will you send \"";
string s3 = "\"?";
vector<int64_t> len;
char req(int64_t n, int64_t k) {
  if (n < (int64_t)len.size() && len[n] <= k) return '.';
  while (n > 0) {
    if (0) cerr << n << " " << k << "\n";
    if (k < (int64_t)s1.length()) return s1[k];
    if (0) cerr << "kek " << k << "\n";
    k -= (int64_t)s1.length();
    if (n - 1 >= len.size() || len[n - 1] > k) {
      --n;
      continue;
    }
    if (0) cerr << "kek " << k << "\n";
    k -= (int64_t)len[n - 1];
    if (k < (int64_t)s2.length()) return s2[k];
    k -= s2.length();
    if (0) cerr << "kek " << k << "\n";
    if (n - 1 >= len.size() || len[n - 1] > k) {
      --n;
      continue;
    }
    k -= (int64_t)len[n - 1];
    if (0) cerr << "kek " << k << "\n";
    return s3[k];
  }
  return s0[k];
}
int32_t main() {
  int64_t q;
  cin >> q;
  len.push_back(s0.length());
  while (len.back() < 1e18)
    len.push_back((int64_t)s1.length() + (int64_t)s2.length() +
                  (int64_t)s3.length() + 2ll * len.back());
  for (int64_t i = 0; i < q; i++) {
    int64_t n, k;
    cin >> n >> k;
    cout << req(n, k - 1);
  }
  return 0;
}
