Задачи
(p, q) - лошадь
(p, q) - лошадь
(\textbf{p}, \textbf{q})-лошадь - это обобщение обычного шахматного коня. (\textbf{p}, \textbf{q})-лошадь своим ходом перемещается на \textbf{p} клеток в одном направлении, и на \textbf{q} - в другом (перпендикулярном). Например, (\textbf{3}, \textbf{4})-лошадь может переместиться с клетки (\textbf{5}, \textbf{6}) на клетки (\textbf{1}, \textbf{3}), (\textbf{2}, \textbf{2}), (\textbf{2}, \textbf{10}), (\textbf{1}, \textbf{9}), (\textbf{8}, \textbf{10}), (\textbf{9}, \textbf{9}), (\textbf{8}, \textbf{2}) и (\textbf{9}, \textbf{3}). Очевидно, что обычный шахматный конь - это (\textbf{2}, \textbf{1})-лошадь.
Ваша задача - определить минимальное число ходов, которое требуется (\textbf{p}, \textbf{q})-лошади, чтобы добраться от одной клетки шахматной доски \textbf{M}×\textbf{N} до другой. За пределы доски выходить запрещается.
\InputFile
Одна строка содержит \textbf{8} целых чисел \textbf{m}, \textbf{n}, \textbf{p}, \textbf{q}, \textbf{x_1}, \textbf{y_1}, \textbf{x_2}, \textbf{y_2} (\textbf{1} ≤ \textbf{x_1}, \textbf{x_2} ≤ \textbf{m} ≤ \textbf{100}, \textbf{1} ≤ \textbf{y_1}, \textbf{y_2} ≤ \textbf{n} ≤ \textbf{100}, \textbf{0} ≤ \textbf{p} ≤ \textbf{100}, \textbf{0} ≤ \textbf{q} ≤ \textbf{100}).
\OutputFile
Первая строка должна содержать число ходов \textbf{k}, которое требуется (\textbf{p}, \textbf{q})-лошади, чтобы добраться из клетки (\textbf{x_1}, \textbf{y_1}) в клетку (\textbf{x_2}, \textbf{y_2}). Далее должна следовать \textbf{k + 1} строка, содержащая последовательные положения (\textbf{p}, \textbf{q})-лошади на этом пути.
Если (\textbf{p}, \textbf{q})-лошадь не может добраться из (\textbf{x_1}, \textbf{y_1}) в (\textbf{x_2}, \textbf{y_2}), выведите \textbf{-1}.
Входные данные #1
3 3 1 1 1 1 3 3
Выходные данные #1
2 1 1 2 2 3 3
Входные данные #2
2 2 1 1 1 1 1 2
Выходные данные #2
-1