Nhập môn BFS


Submit solution

Points: 3 (partial)
Time limit: 1.0s
JAVA11 2.0s
Python 3 2.0s
Memory limit: 98M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Trong luật cờ vua, mỗi nước đi của quân mã được quy định như sau: quân mã đang ở vị trí \(X\) như hình bên dưới có thể đi đến một trong các ô mà mũi tên chỉ đến (theo đường chéo của hình chữ nhật \(2\)x\(3\)).

Quân mã

Yêu cầu

Cho trước bàn cờ kích thước \(n\) x \(m\) ô. Hãy đếm số nước đi ít nhất để quân mã di chuyển từ ô có tọa độ \((x_1, y_1)\) đến ô có tọa độ \((x_2, y_2)\). Trong trường hợp không đến được thì xuất ra giá trị \(-1\).

Input

Dòng \(1\) ghi hai số nguyên dương \(n\), \(m\) \((2 \le n, m \le 1000)\).

Dòng \(2\) ghi hai số nguyên \(x_1, y_1\) \((1 \le x_1 \le n, 1 \le y_1 \le m)\).

Dòng \(3\) ghi hai số nguyên \(x_2, y_2\) \((1 \le x_2 \le n,\:1 \le y_2 \le m)\).

Output

Ghi ra một số nguyên duy nhất cho biết số nước đi ít nhất để quân mã di chuyển từ ô \((x_1, y_1)\) đến ô \((x_2, y_2)\). Nếu không đến được thì ghi số \(-1\).

Ví dụ

Input:

4 6
1 1
2 4

Output:

2

Giải thích:

Lần 1: \((1, 1) \to (3, 2)\)

Lần 2: \((3, 2) \to (2, 4)\)


Comments

There are no comments at the moment.