Муравей Карл вернулся! После путешествий по пирамидам Карл решил изучить некоторые алгоритмы и придумал новый алгоритм для решения лабиринтов на сетке. Он работает следующим образом:
- Карл начинает движение где-то в лабиринте, будучи повернутым вправо, и хочет попасть в целевую клетку.
- Пока Карл еще не находится в целевой клетке:
- Если Карл может повернуться влево на 90 градусов и перед ним окажется пустая клетка, он повернется влево на 90 градусов, а затем переместится вперед на одну клетку.
- В противном случае, если Карл может переместиться вперед на одну клетку, он сделает это.
- В противном случае он повернется вправо на 90 градусов.
Карл хочет знать, работает ли этот алгоритм. Помогите ему это проверить!
Входные данные
Первая строка входных данных содержит два целых числа $r$ и $c$ ($1 \le r, c \le 50$), обозначающих размер лабиринта (количество строк и столбцов). Клетка $(1, 1)$ является левым верхним углом лабиринта.
Следующая строка содержит два целых числа $i_{start}$ и $j_{start}$ ($1 \le i_{start} \le r, 1 \le j_{start} \le c$) — начальное положение Карла в строке $i_{start}$ и столбце $j_{start}$.
Следующая строка содержит два целых числа $i_{end}$ и $j_{end}$ ($1 \le i_{end} \le r, 1 \le j_{end} \le c$) — желаемое конечное положение Карла в строке $i_{end}$ и столбце $j_{end}$. Гарантируется, что начальное и конечное положения Карла различны.
Каждая из следующих $r$ строк содержит строку из $c$ символов, состоящую только из 0 или 1. Если символ равен 1, то в этой клетке находится препятствие, и через нее нельзя пройти; в противном случае клетка пуста. Гарантируется, что начальная и конечная клетки Карла пусты.
Выходные данные
Выведите единственное целое число: 1, если Карл может добраться от начальной точки до конечной, и 0 в противном случае.
Примеры
Входные данные 1
4 5 1 1 4 5 00111 10100 10111 10000
Выходные данные 1
1
Входные данные 2
3 3 1 1 3 3 001 001 110
Выходные данные 2
0