Ви придбали стародавні сувої у мага. Кожен сувій містить рядок однакової довжини. Маг пояснив, що ці сувої є копіями ключового рядка, необхідного для входу в підземелля з секретним скарбом. Однак, через численні ручні переписування, рядки можуть містити помилки, хоча їх довжина залишається правильною.
Ваше завдання — відновити оригінальний рядок з цих копій. Ви вирішили дотримуватися наступних припущень:
Кожен скопійований рядок може містити не більше помилок. Це означає, що відстань Хеммінга між оригінальним рядком і будь-яким скопійованим рядком не перевищує .
Якщо існує кілька можливих варіантів, оригінальним вважається лексикографічно найменший рядок.
Чи зможете ви відновити оригінальний рядок?
Вхід містить кілька наборів даних.
Кожен набір даних має такий формат:
str_1
str_2
str_3
Перший рядок містить два цілі числа (1 \le l \le 100000) та (0 \le d \le 5000). вказує на довжину кожного з рядків, а визначає максимальну допустиму відстань Хеммінга. Наступні рядки містять самі рядки, кожен з яких має довжину . Усі рядки складаються лише з малих та великих літер англійського алфавіту.
Вхід завершується рядком з двома нулями, який не потрібно обробляти.
Виведіть лексикографічно найменший рядок, що відповідає умовам. Якщо жоден рядок не задовольняє умови, виведіть "-1".
Приклад 1