func_code_string: #include <bits/stdc++.h>   using namespace std;   long long mod = 1000000007;   class Triplet {    public:     long long x;     long long y;     long long gcd;   };   long long gcd(long long a, long long b) {     if (b == 0) return a;     return gcd(b, a % b);   }   Triplet extendedEuclid(long long a, long long b) {     if (b == 0) {       Triplet ans;       ans.gcd = a;       ans.x = 1;       ans.y = 0;       return ans;     }     Triplet smallAns = extendedEuclid(b, a % b);     Triplet ans;     ans.gcd = smallAns.gcd;     ans.x = smallAns.y;     ans.y = smallAns.x - (a / b) * smallAns.y;     return ans;   }   long long modulo(long long a, long long m) {     Triplet ans = extendedEuclid(a, m);     return ans.x;   }   int32_t main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     long long t;     cin >> t;     while (t--) {       long long n, a;       cin >> n >> a;       long long arr[n];       long long maxi = 0;       bool found = false;       for (long long i = 0; i < n; i++) {         cin >> arr[i];         if (found) continue;         if (a % arr[i] == 0) {           if (a / arr[i] == 1) {             found = true;             maxi = arr[i];           }         }         maxi = max(maxi, arr[i]);       }       if (found) {         cout <<  1 n ;         continue;       } else {         if (maxi > a) {           cout <<  2 n ;           continue;         } else {           long long ans = (a / maxi);           if (a % maxi != 0) ans++;           cout << ans << endl;         }       }     }     return 0;   }   