#include <bits/stdc++.h>

using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef vector<int> VI;
typedef vector<LL> VLL;
typedef pair<int, int> PI;

#define SI(x) scanf("%d", &x)
#define SLL(x) scanf("%lld", &x)
#define SORTV(v) sort(v.begin(), v.end())
#define EACH(it, v) for(__typeof(v.begin()) it(v.begin()); it != v.end(); it++)
#define pb(x) push_back(x)
#define mp(x, y) make_pair(x, y)
#define f first
#define s second

template<class T> void print_array(T a[], int size) { for(int i=0; i<size; i++) cout<<a[i]<<" "; cout<<endl; }

template<class T> void print_array_v(T &a) { int size = a.size(); for(int i=0; i<size; i++) cout<<a[i]<<" "; cout<<endl; }

int main()
{
	int T;
	scanf("%d", &T);
	while(T--)
	{
		LL mx[4000];
		int a[3];
		LL n; SLL(n);
		SI(a[0]); SI(a[1]); SI(a[2]);
		if(n==1)
		{
			printf("0\n");
			continue;
		}
		sort(a, a+3);
		mx[0] = 1;
		int i;
		for(i=1;;i++)
		{
			mx[i] = i-a[0] >= 0 ? mx[i-a[0]] : 0;
			mx[i] += i-a[1] >= 0 ? mx[i-a[1]] : 0;
			mx[i] += i-a[2] >= 0 ? mx[i-a[2]] : 0;
			mx[i] = max(mx[i], mx[i-1]);
			if(mx[i] >= n)
				break;
		}
		cout<<i<<endl;
	}
	return 0;
}