// Coded by: samfisher #include<bits/stdc++.h> #define ll long long int #define vii vector<int>::iterator #define vli vector<ll>::iterator #define vi vector<int> #define vl vector<ll> #define pb(x) push_back(x) #define pf(x) push_front(x) #define mp(x,y) make_pair(x,y) #define MOD 1000000007 #define in cin>> #define i2(x,y) cin>>x>>y #define i3(x,y,z) cin>>x>>y>>z #define os(x) cout<<x<<' ' #define on(x) cout<<x<<endl #define o2(x,y) cout<<x<<' '<<y<<endl #define o3(x,y,z) cout<<x<<' '<<y<<' '<<z<<endl #define pn cout<<endl #define F first #define S second #define for_it(it, X) for (__typeof((X).begin()) it = (X).begin(); it != (X).end(); it++) #define op(X) cout<<X.F<<" "<<X.S<<" "; #define opn(X) cout<<X.F<<" "<<X.S<<endl; using namespace std; int main() { ios_base::sync_with_stdio(false); ll t,i,j,k,n,m,a,b,c; in t; vl A(3); vl ans(10000); while(t--) { in n; i3(A[0],A[1],A[2]); sort(A.begin(),A.end()); for(i=0;i<A[0];i++) { ans[i]=1; } if(n==1) { on(0); continue; } for(i=A[0];ans[i-1]<n;i++) { ans[i]=0; for(j=0;j<3;j++) { if(i>=A[j]) ans[i]+=ans[i-A[j]]; } } on(i-1); } }