B. Клетки
ограничение по времени на тест
0.5 second
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

Дано бесконечное клетчатое поле. Требуется попасть из клетки (x1; y1) в клетку (x2; y2), но не обязательно по кратчайшему пути. Двигаться по клеткам поля можно в четырех направлениях. То есть, находясь в некоторой клетке, можно перейти в любую соседнюю по стороне.

Клетка (x; y) считается плохой, если выполняется хотя бы одно из двух условий:

  • |x + y| ≡ 0 (mod 2a),
  • |x - y| ≡ 0 (mod 2b).

Требуется узнать, какое наименьшее количество плохих клеток придется посетить по пути из (x1; y1) в (x2; y2).

Входные данные

В единственной строке заданы целые числа a, b, x1, y1, x2 и y2 — параметры плохих клеток, координаты начальной и конечной клеток соответственно (2 ≤ a, b ≤ 109 и |x1|,|y1|,|x2|,|y2| ≤ 109). Гарантируется, что начальная и конечная клетки не являются плохими.

Выходные данные

Выведите одно число — наименьшее количество плохих клеток, которые придется посетить чтобы попасть из клетки (x1; y1) в клетку (x2; y2).

Примеры
Входные данные
2 2 1 0 0 1
Выходные данные
1
Входные данные
2 2 10 11 0 1
Выходные данные
5
Входные данные
2 4 3 -1 3 7
Выходные данные
2
Примечание

В третьем примере один из возможных путей: (3;-1)->(3;0)->(3;1)->(3;2)->(4;2)->(4;3)->(4;4)->(4;5)->(4;6)->(4;7)->(3;7). Клетки (3;1) и (4;4) плохие.