#include <bits/stdc++.h>
using namespace std;
long long delka[100004];
long long INF = 1e18 + 5;
int main(void) {
  int q;
  long long N;
  long long K;
  string s =
      "What are you doing at the end of the world? Are you busy? Will you save "
      "us?";
  string t1 = "What are you doing while sending \"";
  string t2 = "\"? Are you busy? Will you send \"";
  string t3 = "\"?";
  scanf("%i", &q);
  int i;
  delka[0] = s.size();
  for (i = 1; i < 100004; i++) {
    delka[i] = 2 * delka[i - 1] + t1.size() + t2.size() + t3.size();
    if (delka[i] > INF) {
      for (; i < 100004; i++) {
        delka[i] = INF;
      }
    }
  }
  for (i = 0; i < q; i++) {
    scanf("%I64d %I64d", &N, &K);
    K--;
    while (1) {
      if (N == 0 && K < s.size()) {
        printf("%c", s[K]);
        break;
      };
      if (N == 0) {
        printf(".");
        break;
      }
      if (K < t1.size()) {
        printf("%c", t1[K]);
        break;
      }
      if (K < t1.size() + delka[N - 1]) {
        N--;
        K -= t1.size();
        continue;
      }
      if (K < t1.size() + delka[N - 1] + t2.size()) {
        printf("%c", t2[K - delka[N - 1] - t1.size()]);
        break;
      }
      if (K < t1.size() + 2 * delka[N - 1] + t2.size()) {
        N--;
        K -= (t1.size() + t2.size() + delka[N]);
        continue;
      }
      if (K < t1.size() + 2 * delka[N - 1] + t2.size() + t3.size()) {
        printf("%c", t3[K - 2 * delka[N - 1] - t1.size() - t2.size()]);
        break;
      }
      printf(".");
      break;
    }
  }
  return 0;
}
