Яндекс
Яндекс працює в одній дуже відомій компанії. Його робота не дуже складна, але потребує багато часу. В основному Яндекс шукає деякі дані в одній книзі і переписує їх в іншу. Яндекса не особливо хвилює, кому потрібні результати його праці, голавне - що за роботу гарно платять. Яндекс прийшов у цю компанію не так давно, тому він трудиться сумлінно і дуже втомлюється до кінця дня. У кінці дня для нього усі символи у книзі зливаються, так що усі ці цінні дані - це один довгий рядок, але він повинен ще працювати з ними і працювати далі і далі... Можливо, бос помітить, як сумлінно працює Яндекс, і підвищить його...
Але... О, ні... Доки Яндекс мріяв, він забув, що він повинен був дивитись у першій книзі... Після перерви та чашки чаю "Ліптон" він дещо згадав. По-перше, він згадав, що він повинен був шукати якийсь рядок у першій книзі. По-друге, він згадав, що у другу книгу він повинен був виписувати позиції, у яких зустрічався цей рядок, і що він вже виписав їх усі.
Вхідні дані
У вхідному файлі містяться декілька тестів. Опис кожного тесту починається з натуральних чисел n (1 ≤ n ≤ 1000000) - кількість символів у першій книзі - і k (1 ≤ k ≤ n) - кількість позицій, у яких Яндекс вже найшов входження шуканого рядка у текст (тобто кількість чисел у другій книзі). У другому рядку опису тесту знаходиться текст з першої книги - послідовність символів з ASCII-кодами більшими, ніж 64. Третій рядок опису тесту містить k номерів позицій, які були записані у другій книзі.
Рядок з n=k=0 позначає кінець тестів; цей тест і усі дані після нього не повинні бути опрацьовані.
Вихідні дані
Для кожного тесту виведіть у вихідний файл один рядок. Якщо існує рядок, який входить у текст у тих і лише у тих позиціях, що вказані у другій книзі, виведіть один рядок "Correct. Length = x..y.", де x і y - мінімально та максимально можлива довжина шуканого рядка. Якщо розв'зків не існує, виведіть у вихідний файл один рядок "Mistake.".