Степан придбав нову квартиру і до приїзду батьків вирішив поклеїти шпалери. На перший погляд все просто, але, коли він приступив до роботи, виявилась невелика проблема – необхідно вирівнювати малюнки на сусідніх смугах шпалер. Як визнаний програміст, Степан сформулював задачу таким чином. Кожну смугу шпалер можна описати її частиною – прямокутником довжиною і шириною (щоб отримати повну смугу, цей прямокутник можна багато разів домалювати до самого себе справа і зліва). Для простоти подумки поділимо цей прямокутник на рівні клітинки так, щоб утворилось рядків і стовпців. Щоб було ще простіше, рисунок на шпалерах позначимо символами "." і "*" (крапка і зірочка), по одному символу в кожній клітинці.
Вам дано опис двох смуг шпалер. Допоможіть Степану, напишіть програму, яка визначатиме, на яку мінімальну кількість клітинок потрібно змістити другу смугу вправо, щоб її малюнок співпав з малюнком на першій смузі. Степан придбав такі шпалери, що гарантовано завжди можна це зробити.
Перший рядок вхідного файлу містить два цілих числа та (1 \leq N \leq 20, 1 \leq M \leq 100000). Наступні рядків містять по символів кожна – опис першої смуги шпалер. Наступні рядків містять по символів кожна – опис другої смуги шпалер. Кожен рядок опису шпалер містить лише символи "." і "*".
Вихідний файл має містити одне число – на яку мінімальну кількість клітинок потрібно змістити другу смугу вправо, щоб її малюнок співпав з малюнком на першій смузі.
Приклад 1