func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long int mod = 1e9 + 7;   bool IsPowerOfTwo(long long int x) { return (x != 0) && ((x & (x - 1)) == 0); }   long long int poer(long long int a, long long int b) {     long long int rs = 1;     while (b > 0) {       if (b & 1) rs *= a;       a *= a;       b /= 2;     }     return rs;   }   long long int mod_poer(long long int a, long long int b, long long int mo) {     long long int rs = 1;     while (b > 0) {       if (b & 1) rs = (rs * a) % mo;       a = (a * a) % mo;       b /= 2;     }     return rs % mo;   }   long long int d, x, y;   void ext_euclid(long long int a, long long int b) {     if (b == 0) {       d = a;       x = 1;       y = 0;     } else {       ext_euclid(b, a % b);       long long int temp = x;       x = y;       y = temp - (a / b) * y;     }   }   long long int mod_inverse1(long long int a, long long int m) {     ext_euclid(a, m);     return (x % m + m) % m;   }   long long int mod_inverse2(long long int a, long long int m) {     return mod_poer(a, m - 2, m);   }   long long int gcd(long long int a, long long int b) {     if (b == 0)       return a;     else       return gcd(b, a % b);   }   long long int fact[200005];   void fac() {     fact[1] = fact[0] = 1;     for (long long int i = 2; i <= 200005; ++i) {       fact[i] = ((fact[i - 1] % mod) * i) % mod;     }   }   long long int combi(long long int a, long long int b) {     if (b > a) return 0;     if (b == a)       return 1;     else {       long long int x = mod_poer(fact[b], mod - 2, mod) % mod;       long long int y = mod_poer(fact[a - b], mod - 2, mod) % mod;       return ((((fact[a]) * x) % mod) * y) % mod;     }   }   long long int len[54];   string str1 =  What are you doing while sending   ;   string str2 =   ? Are you busy? Will you send   ;   string str3 =   ? ;   long long int len1 = str1.size();   long long int len2 = str2.size();   long long int len3 = str3.size();   string f0 =        What are you doing at the end of the world? Are you busy? Will you save          us? ;   char get(long long int n, long long int k) {     if (n > 54) {       if (k <= len1) return str1[k - 1];       return get(n - 1, k - len1);     }     if (n < 54 && k > len[n]) return  . ;     if (n == 0) return f0[k - 1];     if (k <= len1) return str1[k - 1];     if (k <= len1 + len[n - 1]) return get(n - 1, k - len1);     if (k <= len1 + len[n - 1] + len2) return str2[k - len1 - len[n - 1] - 1];     if (k <= len1 + len[n - 1] * 2 + len2)       return get(n - 1, k - len1 - len[n - 1] - len2);     return str3[k - len1 - len[n - 1] * 2 - len2 - 1];   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     len[0] = f0.size();     for (long long int i = 1; i < 54; ++i) {       len[i] = (len[i - 1] * 2) + len1 + len2 + len3;     }     long long int t;     cin >> t;     while (t--) {       long long int n, k;       cin >> n >> k;       cout << get(n, k);     }     cout <<   n ;     return 0;   }   