#include <bits/stdc++.h>
using namespace std;

#define jjs(i, s, x) for (int i = (s); i < int(x); i++)
#define jjl(i, x) jjs(i, 0, x)
#define ji(x) jjl(i, x)
#define jj(x) jjl(j, x)
#define jk(x) jjl(k, x)
#define jij(a, b) ji(a) jj(b)
#define ever ;;
#define foreach(x, C) for (auto& x : (C))
#define INF ((int) 1e9+10)
#define LINF ((ll) 1e16)
#define pb push_back
#define mp make_pair
#define nrint(x) int x; rint(x);
#define nrlong(x) long long x; rint(x);
#define rfloat(x) scanf("%lf", &(x))

#define rint readInteger
template<typename T>
bool readInteger(T& x)
{
	char c,r=0,n=0;
	x=0;
	for (ever)
	{
		c=getchar();
		if ((c<0) && (!r))
			return(0);
		else if ((c=='-') && (!r))
			n=1;
		else if ((c>='0') && (c<='9'))
			x=x*10+c-'0',r=1;
		else if (r)
			break;
	}
	if (n)
		x=-x;
	return(1);
}

const int MOD = 1000000007;

long long modPow(long long a, long long b, int mod = MOD)
{
	assert(b >= 0);
	long long ret = 1 % mod;
	while (b)
	{
		if (b & 1) ret = ret * a % mod;
		a = a * a % mod;
		b >>= 1;
	}
	return ret;
}

typedef long long ll;
typedef pair<int, int> pi;
typedef vector<pi> VPI;
typedef vector<int> VI;
typedef vector<VI> VVI;
typedef vector<ll> VLL;

const int MX = 8200;
ll dp[MX];

int main()
{
	int T;
	rint(T);
	jk(T)
	{
		ll N;
		int A, B, C;
		rint(N); rint(A); rint(B); rint(C);
		dp[0] = 1;
		if (N == 1) printf("0\n");
		else
		{
			jjs(i, 1, MX)
			{
				dp[i] = dp[i-1];
				bool ca = A <= i;
				bool cb = B <= i;
				bool cc = C <= i;
				if (ca && cb)
					dp[i] = max(dp[i], dp[i-A] + dp[i-B]);
				if (ca && cc)
					dp[i] = max(dp[i], dp[i-A] + dp[i-C]);
				if (cb && cc)
					dp[i] = max(dp[i], dp[i-B] + dp[i-C]);
				if (ca && cb && cc)
					dp[i] = max(dp[i], dp[i-A] + dp[i-B] + dp[i-C]);
				if (dp[i] >= N)
				{
					printf("%d\n", i);
					break;
				}
			}
		}
	}	
}