Цифровий рядок#3029

Цифровий рядок

3 секунди
256 мегабайтів
Дуже складна

Жив-був хлопчик на ім'я Вова, який щойно навчився рахувати і писати, і вирішив потренувати ці навички, записуючи всі натуральні числа починаючи з одиниці у безперервній послідовності на аркуші паперу. Його старший брат Петя помітив цю нескінченну послідовність цифр, яку ми назвемо :

Рисунок №1. Цифрова послідовність.

Петя, якому цікаве програмування, захотів дослідити властивості цієї послідовності. Для будь-якої даної пари цілих чисел , де i \leq j, підрядком послідовності називається послідовність цифр S_i S_{i+1} \dots S_j. Наприклад, парі відповідає підрядок , а парі — підрядок .

Рисунок №2. Приклади підрядків.

Взірцем (шаблоном) визначається рядок , що складається з цифр від до , а також символів і . Рядок вважається таким, що відповідає взірцю , якщо можна отримати з , замінивши кожен на одну цифру, а кожен — на будь-яку (можливо, порожню) послідовність цифр.

Завдання Петі — знайти підрядок послідовності , який відповідає заданому шаблону . Наприклад, шаблону ?1*1 відповідають підрядки, що відповідають парам , , , , , , і так далі. Допоможіть Петі розв'язати цю цікаву задачу!

Рисунок №3. Опис другого прикладу.

Вхідні дані

У першому рядку вхідного файлу міститься одне натуральне число (1 \leq N \leq 20) — довжина рядка .

У другому рядку вхідного файлу знаходиться рядок , що складається з символів: цифри від до , та .

Вихідні дані

У вихідний файл слід вивести в одному рядку два цілих числа і , розділені пробілом, де — пара така, що відповідний підрядок послідовності відповідає шаблону .

Якщо є кілька пар , що підходять під шаблон , виведіть найменшу пару. Вважається, що пара (i_1, j_1) менша за (i_2, j_2), якщо i_1 < i_2 або i_1 = i_2 та j_1 < j_2.

Якщо жоден із підрядків послідовності не задовольняє шаблон , виведіть 0 0.

Приклади

Приклад 1

Loading
Loading