#include #include #include #include using namespace std; const int _K=50268147,_B=6082187,_P=100000007; int _X; inline int get_rand(int _l,int _r){ _X=((long long)_K*_X+_B)%_P; return _X%(_r-_l+1)+_l; } int n,m,k,seed; int x[1000006],y[1000006]; void Init(){ scanf("%d%d%d%d",&n,&m,&k,&seed); _X=seed; for (int i=1;i<=k;++i) x[i]=get_rand(1,n), y[i]=get_rand(1,m); } int _x[1000006]; int _y[1000006]; int main() { int t; int i,z,v; scanf("%d",&t); while(t--) { z=0; v=0; Init(); for(i=1;i<=n;i++) { _x[i]=0; } for(i=1;i<=m;i++) { _y[i]=0; } for(i=1;i<=k;i++) { _x[x[i]]++; _y[y[i]]++; } for(i=1;i<=n;i++) { if(_x[i]==0) { z++; } } for(i=1;i<=m;i++) { if(_y[i]==0) { v++; } } printf("%d %d\n",z,v); } return 0; }