Телефон#11202

Телефон

1 секунда
128 мегабайтів
Складна

Фермер Джон має корів, пронумерованих від до , які стоять в одну лінію. -та корова має ідентифікатор породи 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

Loading
Loading