A-B#2413

A-B

1 секунда
64 мегабайти
Середня

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

Для кожної множини схожих рядків визначено операцію віднімання. Всі рядки, схожі на заданий, впорядковують у лексикографічному порядку, після чого їм надають номери, починаючи з нуля. Результатом віднімання рядка від рядка вважається рядок , що задовольняє рівнянню:

N(C) = (N(A) - N(B)) \mod M

де — кількість всіх схожих рядків, а , , — номери рядків , і відповідно у вищевказаному порядку. Операція \mod трактується у звичайному математичному сенсі — це найменше невід'ємне число, таке, що результат дорівнює (N(A) - N(B)) за модулем .

Вхідні дані

У першому рядку вхідних даних задано рядок , у другому рядку — рядок . Гарантується, що і схожі, їх довжини не менші за та не більші за .

Вихідні дані

Виведіть в одному рядку відповідь на задачу ().

Приклади

Приклад 1

Loading
Loading