#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 100;
const long long mod = 1e9 + 7;
const char *s1 = "What are you doing while sending \"";
const char *s2 = "\"? Are you busy? Will you send \"";
const char *base =
    "What are you doing at the end of the world? Are you busy? Will you save "
    "us?";
int len1, len2;
long long dp[MAXN];
void init() {
  dp[0] = strlen(base);
  for (int i = 1; i < MAXN; i++) {
    if (dp[i - 1] > 2000000000000000000LL)
      dp[i] = dp[i - 1];
    else
      dp[i] = 2 * dp[i - 1] + len1 + len2 + 2;
  }
}
char f(int m, long long k) {
  if (m == 0) {
    if (k > strlen(base)) return '.';
    return base[k - 1];
  }
  if (k > len1) {
    if (k - len1 <= dp[m - 1])
      return f(m - 1, k - len1);
    else if (k - len1 - dp[m - 1] <= len2)
      return s2[k - len1 - dp[m - 1] - 1];
    else if (k - len1 - dp[m - 1] - len2 <= dp[m - 1])
      return f(m - 1, k - len1 - dp[m - 1] - len2);
    else if (k - len1 - dp[m - 1] - len2 - dp[m - 1] == 1)
      return '\"';
    else if (k - len1 - dp[m - 1] - len2 - dp[m - 1] == 2)
      return '?';
    return '.';
  } else
    return s1[k - 1];
}
int main() {
  len1 = strlen(s1);
  len2 = strlen(s2);
  init();
  int n;
  scanf("%d", &n);
  vector<int> vec;
  while (n--) {
    int m;
    long long k;
    scanf("%d %I64d", &m, &k);
    vec.push_back(f(m, k));
  }
  vec.push_back('\n');
  for_each(vec.begin(), vec.end(), putchar);
}
