#include using namespace std; #define FOR(i,s,t) for(int i=(s),_t=(t); i<=_t; ++i) #define DOR(i,s,t) for(int i=(s),_t=(t); i>=_t; --i) #define EOR(i,x) for(int i=Head[x]; ~i; i=Nxt[i]) typedef double db; typedef long long ll; const int N=12; void solve() { ll n,m,a,b; scanf("%lld%lld%lld%lld",&n,&m,&a,&b); ll t=2e9; t=min(t,a-1); t=min(t,m-b); t=min(t,n-1); if(a==b) { t=min(t,((n-1)+abs(a-b))/2); } else { t=min(t,((n-1)+abs(a-b)-1)/2); } printf("%lld\n",t*t); } int main() { int T; scanf("%d",&T); while(T--) solve(); return 0; }