#include <bits/stdc++.h>
using namespace std;
string s1 =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
string s2 = "What are you doing while sending \"";
string s3 = "\"? Are you busy? Will you send \"";
string s4 = "\"?";
string s22 =
    "What are you doing while sending \"What are you doing at the end of the "
    "world? Are you busy? Will you save us?\"? Are you busy? Will you send "
    "\"What are you doing at the end of the world? Are you busy? Will you save "
    "us?\"?";
vector<unsigned long long int> v;
char go(unsigned long long int n, unsigned long long int k) {
  if (n == 0) {
    return s1[k];
  } else if (n == 1) {
    return s22[k];
  } else {
    if (k < 34) {
      return s2[k];
    } else if (k < (34LL + v[n - 1])) {
      return go(n - 1, k - 34);
    } else if (k < (66LL + v[n - 1])) {
      return s3[k - 34LL - v[n - 1]];
    } else if (k < (66LL + 2LL * v[n - 1])) {
      return go(n - 1, (k - 66LL - v[n - 1]));
    } else {
      return s4[k - 66LL - 2LL * v[n - 1]];
    }
  }
}
class TaskC {
 public:
  void solve(std::istream& in, std::ostream& out) {
    int q;
    in >> q;
    v.reserve(200010);
    unsigned long long int lastn = s1.length();
    for (int i = 0; i < 200010; i++) {
      v.push_back(lastn);
      lastn = lastn * 2LL + s2.length() + s3.length() + s4.length();
    }
    for (int i = 0; i < q; i++) {
      unsigned long long int n, k;
      in >> n >> k;
      if (k > v[n]) {
        out << '.';
      } else {
        out << go(n, k - 1);
      }
    }
  }
};
int main() {
  TaskC solver;
  std::istream& in(std::cin);
  std::ostream& out(std::cout);
  solver.solve(in, out);
  return 0;
}
