#include int h, w; int si, sj, gi, gj; int di[4] = { -1,0,1,0 }; int dj[4] = { 0,-1,0,1 }; int ans; void dfs(int s[8][8], int i, int j) { if (i == gi && j == gj) { ans++; return; } int ii, jj, k, iii, jjj, kk, f; for (k = 0; k < 4; k++) { ii = i + di[k]; jj = j + dj[k]; if (ii < 0 || jj < 0 || ii >= h || jj >= w) continue; if (s[ii][jj] > 0) continue; f = 0; for (kk = 0; kk < 4; kk++) { iii = ii + di[kk]; jjj = jj + dj[kk]; if (iii < 0 || jjj < 0 || iii >= h || jjj >= w) continue; f += s[iii][jjj]; } if (f > 1) continue; s[ii][jj]++; dfs(s, ii, jj); s[ii][jj] = 0; } return; } int main() { scanf("%d %d", &h, &w); scanf("%d %d", &si, &sj); scanf("%d %d", &gi, &gj); si--; sj--; gi--; gj--; ans = 0; int s[8][8], i, j; for (i = 0; i < h; i++) for (j = 0; j < w; j++) s[i][j] = 0; s[si][sj] = 1; dfs(s, si, sj); printf("%d\n", ans); return 0; }