#include using namespace std; using ll = long long ; long long exGcd(long long a,long long b , long long &x,long long &y){ if(b==0){ x=1,y=0; return a; } long long x1,y1; long long d= exGcd(b,a%b,x1,y1); x = y1; y = x1 - (a/b)*y1; return d; } pair combine_congruence(ll a1, ll m1, ll a2, ll m2) { ll x, y; ll g = exGcd(m1, m2, x, y); ll diff = a2 - a1; if (diff % g != 0) { return {-1, -1}; } ll lcm = m1 / g * m2; ll step = (diff / g * x) % (m2 / g); ll result = (a1 + step * m1) % lcm; if (result < 0) result += lcm; return {result, lcm}; } ll solver(ll N, ll A, ll P, ll B, ll Q, ll C, ll R) { auto [x1,l1] = combine_congruence(A, P, B, Q); if (x1== -1) return 0; auto [x0,lcm]= combine_congruence(x1,l1,C,R); if (x0== -1)return 0; if (x0> N)return 0; return (N -x0)/lcm+1; } void solve() { long long n ; cin>>n; long long p,q,r; cin>>p>>q>>r; long long a,b,c; cin>>a>>b>>c; // x%p == a // x%q == b // x%r == c // get the lcm of all 3 and the first solution then just do (n-f)/lcm; cout<>t; while(t--){ solve(); } return 0; }