#include using namespace std; typedef long long ll; typedef double db; typedef pair pii; #define fir first #define sec second #define rep(i,a,b) for (int i = (a) ; i <= (b) ; ++ i) #define rrp(i,a,b) for (int i = (a) ; i >= (b) ; -- i) #define gc() getchar() template inline void read(tp& x) { x = 0; char tmp; bool key = 0; for (tmp = gc() ; !isdigit(tmp) ; tmp = gc()) key = (tmp == '-'); for ( ; isdigit(tmp) ; tmp = gc()) x = (x << 3) + (x << 1) + (tmp ^ '0'); if (key) x = -x; } template inline void ckmn(tp& x,tp y) { x = x < y ? x : y; } template inline void ckmx(tp& x,tp y) { x = x < y ? y : x; } int x,y,z; void solve() { read(x), read(y), read(z); if (x == 1 && y == 1 && z == 1) { puts("1000"); return; } int ans = 3000; int lima = min((1000 + x-1) / x, (1000 + y-1) / y); int limb = min((1000 + y-1) / y, (1000 + z-1) / z); rep (a, 0, lima) rep (b, 0, limb) { int hitx = a * y; int hity = a * x + b * z; int hitz = b * y; if (hity >= 1000) { if (hity - x >= 1000 && hity - z >= 1000) continue; if (hitx - y < 1000 && hitz - y < 1000) { if (hitx >= 1000 || hitz >= 1000) ans = min(ans, a + b); else { int tmp1 = (1000 - hitx + z - 1) / z; int tmp2 = (1000 - hitz + x - 1) / x; ans = min(ans, a + b + min(tmp1, tmp2)); } } } else { if (hitx >= 1000 && hitz >= 1000) ans = min(ans, a + b); else if (hitx < 1000 && hitz < 1000) { int tmp1 = (1000 - hitx + z - 1) / z; int tmp2 = (1000 - hitz + x - 1) / x; if (tmp1 == tmp2) ans = min(ans, a + b + tmp1); } } } printf("%d\n", ans); } int main() { int T; read(T); while (T --) solve(); return 0; }