#include using namespace std; using ll = long long; ll solve(ll H, ll W, ll sx, ll sy, ll h, ll w){ // 壁がなかった場合をまず考える ll ans = (H * W - 1) * 2; ans -= (H - 1); ans -= (W - 1); ll d1 = min(sx + sy, min(H + W - 2 - (sx + sy), min(H, W) - 1)); ll d2 = min((sx - sy) - (-W + 1), min(H - 1 - (sx - sy), min(H, W) - 1)); ans -= d1; ans -= d2; if (sx == h){ ans--; ll len_min, len_max; ll br_x_max = max(sx, H - 1 - sx); if (sy < w){ len_min = w - sy; len_max = W - 1 - sy; } else{ len_min = sy - w; len_max = sy; } ans -= (len_max - len_min); // len_min より大きく len_max 以下の奇数・偶数の個数 ll odd_cnt = (len_max + 1) / 2 - (len_min + 1) / 2; ll even_cnt = len_max / 2 - len_min / 2; // 奇数:len_min より大きく br_x_max 以下の奇数の個数 ll odd_2_cnt = (br_x_max + 1) / 2 - (len_min + 1) / 2; if (odd_2_cnt < 0) odd_2_cnt = 0; // 偶数:len_min より大きく br_x_max * 2 以下の偶数の個数 ll even_2_cnt = br_x_max - len_min / 2; if (even_2_cnt < 0) even_2_cnt = 0; ans += min(odd_cnt, odd_2_cnt) * 2LL; ans += min(even_cnt, even_2_cnt) * 2LL; if (odd_cnt - odd_2_cnt > 0){ ans += (odd_cnt - odd_2_cnt) * 3LL; } if (even_cnt - even_2_cnt > 0){ ans += (even_cnt - even_2_cnt) * 3LL; } } else if (sy == w){ ans--; ll len_min, len_max; ll br_y_max = max(sy, W - 1 - sy); if (sx < h){ len_min = h - sx; len_max = H - 1 - sx; } else{ len_min = sx - h; len_max = sx; } ans -= (len_max - len_min); // len_min より大きく len_max 以下の奇数・偶数の個数 ll odd_cnt = (len_max + 1) / 2 - (len_min + 1) / 2; ll even_cnt = len_max / 2 - len_min / 2; // 奇数:len_min より大きく br_x_max 以下の奇数の個数 ll odd_2_cnt = (br_y_max + 1) / 2 - (len_min + 1) / 2; if (odd_2_cnt < 0) odd_2_cnt = 0; // 偶数:len_min より大きく br_x_max * 2 以下の偶数の個数 ll even_2_cnt = br_y_max - len_min / 2; if (even_2_cnt < 0) even_2_cnt = 0; ans += min(odd_cnt, odd_2_cnt) * 2LL; ans += min(even_cnt, even_2_cnt) * 2LL; if (odd_cnt - odd_2_cnt > 0){ ans += (odd_cnt - odd_2_cnt) * 3LL; } if (even_cnt - even_2_cnt > 0){ ans += (even_cnt - even_2_cnt) * 3LL; } } else if (sx + sy == h + w){ ans--; if (sx < h){ ll rem = min(w, H - 1 - h); ans += rem; } else{ ll rem = min(W - 1 - w, h); ans += rem; } } else if (sx - sy == h - w){ ans--; if (sx < h){ ll rem = min(H - 1 - h, W - 1 - w); ans += rem; } else{ ll rem = min(h, w); ans += rem; } } else{ ans -= 2; } return ans; } int main(){ ll T; cin >> T; while (T--){ ll H, W, sx, sy, h, w; cin >> H >> W >> sx >> sy >> h >> w; cout << solve(H, W, sx - 1, sy - 1, h - 1, w - 1) << endl; } }