#include using namespace std; #define N 2000100 const int p = 100000007; const int KK = 50268147; const int b = 6082187; int cur; inline int get_rand(int l, int r){ cur = ((long long) KK * cur + b)% p; return cur % (r-l+1) + l; } int x[N], y[N], T; bool r[N], c[N]; int n, m, k; int main(){ for(scanf("%d", &T); T --; ){ scanf("%d %d %d %d", &n, &m, &k, &cur); memset(r, 0, sizeof r); memset(c, 0, sizeof c); for(int i = 0; i < k; i ++){ x[i] = get_rand(1, n); c[x[i]] = 1; y[i] = get_rand(1, m); r[y[i]] = 1; } int ans1 = 0; for(int i = 1; i <= n; i ++) if(!c[i]){ ans1 ++; } int ans2 = 0; for(int i = 1; i <= m; i ++) if(!r[i]){ ans2 ++; } printf("%d %d\n", ans1, ans2); } }