#include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int T; cin >> T; while(T--){ long long N,X,Y,A,B; cin >> N >> X >> Y >> A >> B; bool end = false; auto f = [&]() -> pair { if(X+Y >= 0){ end = B<=0; return {X,Y-B}; } else{ end = A<=0; return {X+A,Y}; } }; auto ans = [&]() -> void {cout << X << " " << Y << "\n";}; tie(X,Y) = f(),N--; if(end || N == 0){ if(X+Y >= 0) Y -= B*N; else X += A*N; ans(); continue; } if(X+Y >= 0){ long long ope = (X+Y+1+B-1)/B; ope = min(ope,N); Y -= B*ope,N -= ope; } else{ long long ope = (-(X+Y)+A-1)/A; ope = min(ope,N); X += A*ope,N -= ope; } if(N == 0){ans(); continue;} tie(X,Y) = f(),N--; if(end || N == 0){ if(X+Y >= 0) Y -= B*N; else X += A*N; ans(); continue; } long long g = gcd(abs(A),abs(B)),lcm = abs(A*B)/g,cycle = lcm/A+lcm/B; long long loop = N/cycle; X += lcm*loop,Y -= lcm*loop; N %= cycle; long long low = -1,high = N+1; while(high-low > 1){ long long mid = (high+low)/2; long long dec = mid,add = N-mid; long long now = X+Y+add*A-dec*B; if(now >= A) low = mid; else high = mid; } Y -= high*B,X += (N-high)*A; ans(); } }