#include #include #include #include #include #include #include #include #include #include #include #define LL long long #define inf 0x7ffffff #define pa pair #define pi 3.1415926535897932384626433832795028841971 using namespace std; inline LL read() { LL x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } inline void write(LL a) { if (a<0){printf("-");a=-a;} if (a>=10)write(a/10); putchar(a%10+'0'); } inline void writeln(LL a){write(a);printf("\n");} 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); memset(x,0,sizeof(x)); memset(y,0,sizeof(y)); _X=seed; int t1=0,t2=0; for (int i=1;i<=k;++i) { int xx=get_rand(1,n); int yy=get_rand(1,m); x[xx]=1, y[yy]=1; } for (int i=1;i<=n;i++) if (!x[i])t1++; for (int i=1;i<=m;i++) if (!y[i])t2++; printf("%d %d\n",t1,t2); } int main() { int T=read(); while (T--)Init(); }