#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[1000005],y[1000005]; void Init() { int tmp; memset(x,0,sizeof(x)); memset(y,0,sizeof(y)); int k1=0,k2=0; scanf("%d%d%d%d",&n,&m,&k,&seed); _X = seed; for(int i = 1; i <= k; i++) { tmp = get_rand(1,n); if(!x[tmp]) { k1++; x[tmp] = 1; } tmp = get_rand(1,m); if(!y[tmp]) { k2++; y[tmp] = 1; } } cout << n - k1 << " " << m - k2 << endl; } int main() { int T; scanf("%d",&T); while(T--) Init(); return 0; }