#include using namespace std; typedef long long ll; int T; ll n, m, x1, x2; int main() { scanf("%d", &T); while (T--) { scanf("%lld %lld %lld %lld", &n, &m, &x1, &x2); auto chk = [&](ll d) { if (x1 - d <= 1) return 1; if (x2 + d >= m) return 1; if (d >= n - 1) return 1; ll x = d + 1, y = x1; for (ll dx : {-1, 0, 1}) { for (ll dy : {-1, 0, 1}) { ll _x = x + dx, _y = y + dy; if (_x < 1 || _x > n || _y < 1 || _y > m) continue; if (abs(_x - n) + abs(_y - x2) <= d) return 1; } } x = n - d, y = x2; for (ll dx : {-1, 0, 1}) { for (ll dy : {-1, 0, 1}) { ll _x = x + dx, _y = y + dy; if (_x < 1 || _x > n || _y < 1 || _y > m) continue; if (abs(_x - 1) + abs(_y - x1) <= d) return 1; } } return 0; }; ll l = 0, r = n + m, ans; while (l <= r) { ll mid = (l + r) >> 1; chk(mid) ? r = (ans = mid) - 1 : l = mid + 1; } printf("%lld\n", ans * ans); } return 0; }