Горіховий рядок
Білка Скрат постарів і став мудрішим. Тепер, замість того щоб ганятися за одним горіхом, він хоче зібрати колекцію з горіхів різних видів. Існує 26 різних видів горіхів, позначених літерами від ‘a’ до ‘z’. Ідеальна колекція Скрату описується рядком s, де i-й символ вказує на вид i-го горіха в колекції.
Материк, на якому перебуває Скрат, можна уявити як прямокутне поле розміром n на m. Рядки поля пронумеровані від 1 до n зверху вниз, а стовпці від 1 до m зліва направо. Клітинка (x, y) знаходиться на перетині рядка номер x і стовпця номер y. Спочатку Скрат знаходиться в клітинці (s[x]
, s[y]
). У клітинці з координатами (i, j) можна знайти лише горіхи виду x[i,j]
, але в необмеженій кількості. Рельєф материка такий, що переміщення можливе лише між сусідніми по стороні клітинками і займає рівно одиницю часу.
Скрат дуже принциповий, тому збирає горіхи саме в тому порядку, в якому вони задані рядком s (тобто, якщо s = "ab", то не можна спочатку підібрати горіх виду ‘b’, а потім горіх виду ‘a’). Допоможіть йому визначити, за який мінімальний час він може зібрати всю колекцію. На те, щоб підібрати горіх у тій клітинці, де Скрат знаходиться, час не витрачається.
Вхідні дані
У першому рядку дано два цілих числа n і m (1 ≤ n, m ≤ 300) - розміри материка. У другому рядку дано два цілі числа s[x]
і s[y]
(1 ≤ s[x]
≤ n, 1 ≤ s[y]
≤ m) - координати клітинки, в якій Скрат знаходиться спочатку.
Кожен з наступних n рядків складається рівно з m малих англійських літер. У i-му з цих рядків j-й символ задає x[i,j]
- вид горіхів, що ростуть у клітинці материка (i, j). Гарантується, що кожен вид горіхів присутній хоча б в одній клітинці материка.
У наступному рядку дано рядок s (1 ≤ |s| ≤ 300) з малих англійських літер, що задає послідовність видів горіхів в ідеальній колекції.
Вихідні дані
Виведіть мінімальний час, який знадобиться Скрату, щоб зібрати свою колекцію.
Приклади
Примітка
У першому прикладі оптимальний маршрут - дійти до ‘n’ у першому рядку за 12 кроків, потім спуститися вниз на 1 і додати ‘u’ і ‘t’, що стоять підряд справа, що вимагатиме ще 4 кроки.
У другому прикладі оптимальний маршрут задається точками (4, 4), ‘s’ (5, 5), ‘q’ (3, 5), ‘u’ (5, 3), ‘i’ (6, 4), ‘r’ (4, 5) (двічі), ‘e’ (4, 6) і ‘l’ (6, 7).