#include <cstdlib>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <queue>
#include <cmath>
#include <stack>
#include <map>
#include <set>
#include <deque>
#include <cstring>
#include <functional>
#include <climits>
#include <list>
#include <ctime>
#include <complex>
 
#define F1(x,y,z) for(int x=y;x<z;x++)
#define F2(x,y,z) for(int x=y;x<=z;x++)
#define F3(x,y,z) for(int x=y;x>z;x--)
#define F4(x,y,z) for(int x=y;x>=z;x--)
#define pb push_back
#define LL long long
#define co complex<double>
 
#define MAX 100005
#define AMAX 16384
#define MOD 1000000007

#define f(c,d) ((1<<(c))*(d))

using namespace std;

int t,x[3];
LL n;
vector<LL> dp;

int main(){
	scanf("%d",&t);
	while(t--){
		dp.clear();
		scanf("%lld%d%d%d",&n,&x[0],&x[1],&x[2]);
		sort(x,x+3);
		dp.pb(1);
		for(int a=1;;a++){
			if(dp.back()>=n)break;
			dp.pb(0);
			F1(b,0,3)if(a-x[b]>=0)dp.back()+=dp[a-x[b]];
			dp.back()=max(dp.back(),dp[a-1]);
		}
		printf("%d\n",dp.size()-1);
	}
	//system("pause");
	return 0;
}