func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long mod = 7340033;   long long n, k;   long long DP[100][1009], dp[100][1009];   long long DFS(int h, int k);   long long dfs(int h, int k) {     long long &d = dp[h][k];     if (~d) return d;     d = 0;     for (int i = 0; i <= k; i++)       d = (d + DFS(h - 1, i) * DFS(h - 1, k - i)) % mod;     return d;   }   long long DFS(int h, int k) {     long long &d = DP[h][k];     if (~d) return d;     if (h == 0) {       if (k == 0) return d = 1;       return d = 0;     }     if (k == 0) return 1;     d = 0;     for (int i = 0; i < k; i++) d = (d + dfs(h, i) * dfs(h, k - 1 - i)) % mod;     return d;   }   void pre() {     memset(dp, -1, sizeof(dp));     memset(DP, -1, sizeof(DP));     for (int i = 0; i <= 30; i++)       for (int j = 0; j <= 1000; j++) DFS(i, j);   }   int main() {     int w;     cin >> w;     pre();     while (w--) {       int n, k;       cin >> n >> k;       int cnt = 0;       while (n > 1 && (n & 1)) cnt++, n >>= 1;       cout << DFS(cnt, k) << endl;     }     return 0;   }   