#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;
}