Фермер Джон має корів, пронумерованих від до , які стоять в одну лінію. -та корова має ідентифікатор породи b_i, що знаходиться в діапазоні від до . Коровам потрібна ваша допомога, щоб визначити оптимальний спосіб передачі повідомлення від корови до корови .
Для передачі повідомлення від корови до корови потрібно |i - j| одиниць часу. Однак не всі породи готові обмінюватися повідомленнями одна з одною. Можливість передачі повідомлення між породами задається матрицею розміру k \times k, де S_{ij} = 1, якщо корова породи готова передати повідомлення корові породи , і S_{ij} = 0 в іншому випадку. При цьому не обов'язково, що S_{ij} = S_{ji}, і навіть може виявитися, що S_{ii} = 0, якщо корови породи не готові обмінюватися повідомленнями одна з одною.
Визначте мінімальну кількість часу, необхідну для передачі повідомлення від корови до корови .
Перший рядок містить два цілих числа n~(1 \le n \le 5 \cdot 10^4) та k~(1 \le k \le 50).
Другий рядок містить цілих чисел b_1, b_2, \ldots, b_n, де 1 \le b_i \le k.
Наступні рядків описують матрицю . Кожен рядок містить рядок з бітів, де S_{ij} — це -й біт -го рядка.
Виведіть одне ціле число — мінімальну кількість часу, необхідну для передачі повідомлення від корови до корови . Якщо передати повідомлення від корови до корови неможливо, виведіть .
Оптимальна послідовність передач має вигляд 1 \to 4 \to 3 \to 5. Загальний час передачі складає |1 - 4| + |4 - 3| + |3 - 5| = 6.
Приклад 1