#pragma GCC target("avx2") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #include using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int t; cin >> t; while(t--){ int n,s; cin >> n >> s; map bk; vector a(n); int g=0; for(auto &nx : a){ cin >> nx; g=gcd(g,nx); } for(auto &nx : a){ nx/=g; } sort(a.begin(),a.end()); bitset<200005> bs; bs.set(0); for(int i=0;i(s/g)){ bk[a[i]]--; continue; } bs|=(bs<=0;i--){ if(bs[i]){ cout << i*g << "\n"; break; } } } return 0; }