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