#include <bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long ULL; typedef vector<int> VI; typedef vector<LL> VLL; typedef pair<int, int> PI; #define SI(x) scanf("%d", &x) #define SLL(x) scanf("%lld", &x) #define SORTV(v) sort(v.begin(), v.end()) #define EACH(it, v) for(__typeof(v.begin()) it(v.begin()); it != v.end(); it++) #define pb(x) push_back(x) #define mp(x, y) make_pair(x, y) #define f first #define s second template<class T> void print_array(T a[], int size) { for(int i=0; i<size; i++) cout<<a[i]<<" "; cout<<endl; } template<class T> void print_array_v(T &a) { int size = a.size(); for(int i=0; i<size; i++) cout<<a[i]<<" "; cout<<endl; } int main() { int T; scanf("%d", &T); while(T--) { LL mx[4000]; int a[3]; LL n; SLL(n); SI(a[0]); SI(a[1]); SI(a[2]); if(n==1) { printf("0\n"); continue; } sort(a, a+3); mx[0] = 1; int i; for(i=1;;i++) { mx[i] = i-a[0] >= 0 ? mx[i-a[0]] : 0; mx[i] += i-a[1] >= 0 ? mx[i-a[1]] : 0; mx[i] += i-a[2] >= 0 ? mx[i-a[2]] : 0; mx[i] = max(mx[i], mx[i-1]); if(mx[i] >= n) break; } cout<<i<<endl; } return 0; }