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