#include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> using namespace std; long long n, val[50005]; int a[3]; bool check(int x) { for(int i=x; i>=0; i--) { val[i]=0; for(int j=0; j<3; j++) { int y = i + a[j]; if(y <= x) val[i] += val[y]; } if(!val[i]) val[i]++; if(val[i]>=n) return true; } return false; } int main() { int T; scanf("%d",&T); while(T--) { scanf("%lld%d%d%d",&n,&a[0],&a[1],&a[2]); if(n == 1) { printf("0\n"); continue; } if(a[0] == 0) { printf("%d\n",min(a[1],a[2])); continue; } if(a[1] == 0) { printf("%d\n",min(a[0],a[2])); continue; } if(a[2] == 0) { printf("%d\n",min(a[0],a[1])); continue; } int l = 0, h = 50000; do { int mid = (l + h) / 2; if(check(mid)) h = mid; else l = mid; }while(l+1<h); printf("%d\n",h); } return 0; }