func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = (2e5 + 5);   const int mod = 1e9 + 7;   long long int n, a[N], x;   vector<vector<int>> g;   long long int pow_mod_m(long long int a, long long int n) {     if (!n) return 1;     long long int pt = pow_mod_m(a, n / 2);     pt *= pt;     pt %= mod;     if (n & 1) pt *= a, pt %= mod;     return pt;   }   struct LCA {     vector<int> height, euler, first, segtree;     vector<bool> visited;     int n;     LCA(vector<vector<int>> &adj, int root = 0) {       n = adj.size();       height.resize(n);       first.resize(n);       euler.reserve(2 * n);       visited.assign(n, false);       dfs(adj, root);       int m = euler.size();       segtree.resize(4 * m);       build(1, 0, m - 1);     }     void dfs(vector<vector<int>> &adj, int node, int h = 0) {       visited[node] = 1;       height[node] = h;       first[node] = euler.size();       euler.push_back(node);       for (auto to : adj[node]) {         if (!visited[to]) {           dfs(adj, to, h + 1);           euler.push_back(node);         }       }     }     void build(int node, int b, int e) {       if (b == e)         segtree[node] = euler[b];       else {         int m = (b + e) >> 1;         build(node << 1, b, m);         build(node << 1 | 1, m + 1, e);         int l = segtree[node << 1], r = segtree[node << 1 | 1];         segtree[node] = (height[l] < height[r]) ? l : r;       }     }     int query(int node, int b, int e, int L, int R) {       if (b > R || e < L) return -1;       if (b >= L and e <= R) return segtree[node];       int mid = (b + e) >> 1;       int left = query(node << 1, b, mid, L, R);       int right = query(node << 1 | 1, mid + 1, e, L, R);       if (left == -1) return right;       if (right == -1) return left;       return (height[left] < height[right]) ? left : right;     }     int lca(int u, int v) {       int left = first[u], right = first[v];       if (left > right) swap(left, right);       return query(1, 0, euler.size() - 1, left, right);     }     int dist(int u, int v) {       int lca_u_v = lca(u, v);       return height[u] + height[v] - 2 * height[lca_u_v];     }   };   long long int ceil(long long int m) { return x % m == 0 ? x / m : x / m + 1; }   int main() {     ios::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     ;     int ts = 1;     cin >> ts;     while (ts--) {       cin >> n >> x;       bool flag = 0;       for (long long int i = 0; i < n; ++i) {         cin >> a[i];         if (x == a[i]) flag = 1;       }       if (flag)         cout << 1 <<   n ;       else         cout << max(2ll, ceil(*max_element(a, a + n))) <<   n ;     }     return 0;   }   