#include using namespace std; typedef long long ll; typedef unsigned long long ull; #define _for(i,a,b) for(register int (i)=(a);(i)<=(b);(i)++) #define For(i,a,b) for(register int (i)=(a);(i)>=(b);(i)--) #define INF 0x7fffffff #define il inline #define rg register int T; il void solve(){ rg int n,m,a,b; scanf("%d%d%d%d",&n,&m,&a,&b); if(a==1 or b==m or n==1) return puts("0"), void(); if(a==b){ rg int k((n-2)/2+((n-2)%2)); rg int ans(min(k,min(a-1,(m-b)))); ans=min(ans,min(n+b-2,n+(m-a-1))); ans=min(ans,n-1); return printf("%lld\n",(ll)ans*ans), void(); } rg int k(max(0,(abs(a-b)+n-3)/2+(abs(a-b)+n-3)%2)); rg int ans(min(k,min(a-1,(m-b)))); ans=min(ans,min(n+b-2,n+(m-a-1))); ans=min(ans,n-1); printf("%lld\n",1LL*ans*ans); } int main(){ scanf("%d",&T); while(T--) solve(); return 0; }