Секрет — максимум#2560

Секрет — максимум

1 секунда
64 мегабайти
Дуже складна

Агент Сміт передає секретну інформацію до секретного центру, яка складається з одного строго додатного цілого числа. Для кодування числа він замінює кожну цифру відповідним словом і об'єднує слова. Наприклад, може бути закодовано як . Агент Сміт знає чотири мови (1-шу, 2-гу, 3-тю та 4-ту). У цих мовах цифри від до записуються наступним чином (усі літери — це заголовні латинські літери з ASCII-кодами в діапазоні –):

Після кодування Сміт додає до коду певний "шум" — додаткові заголовні латинські літери. Можна додати будь-які літери (включно з тими, що вже використовувалися у коді) у будь-якій кількості й у будь-яке місце коду.

Напишіть програму, яка читає такий код і знаходить найбільше можливе число, яке могло бути закодовано даним рядком, згідно з двома різними припущеннями:

  1. Ми не знаємо, якою мовою користувався Сміт, але вона була одна (з указаного списку) для всього коду;

  2. Сміт міг використовувати різні мови (з указаного списку) для різних цифр або одну й ту ж для всіх цифр.

Вхідні дані

Ваша програма має зчитувати всі рядки вхідних даних і обробляти їх окремо. Кожен рядок містить не більше ніж 10^5 заголовних латинських літер, що складають код. Загальний обсяг вхідних даних менший за МБ.

Вихідні дані

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

Гарантується, що кожен код був побудований з коректного додатного (ненульового) числа. Тому обидва результати завжди будуть додатними. Виводьте їх без початкових нулів.

Приклади

Приклад 1

Loading
Loading