B. Ярослав и две строки
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Ярослав считает, что две строки s и w, состоящие из цифр и имеющие длину n — несравнимы, если найдется два числа i и j (1 ≤ i, j ≤ n), таких, что si > wi, а sj < wj. Здесь запись si обозначает i-тую цифру строки s, аналогично, wjj-тую цифру строки w.

Шаблоном строки назовем строку, которая состоит из цифр и знаков вопроса («?»).

У Ярослава есть два шаблона строк, каждый из которых длины n. Ярослав хочет посчитать, сколькими способами он может заменить все знаки вопроса в обоих шаблонах на некоторые цифры, так, чтобы полученные строки были несравнимы. Обратите внимание, что полученные строки могут содержать лидирующие нули и что разные знаки вопроса могут быть заменены на разные цифры, а могут и на одинаковые.

Помогите Ярославу, посчитайте остаток от деления описанного количества способов на 1000000007 (109 + 7).

Входные данные

В первой строке задано целое число n (1 ≤ n ≤ 105) — длина обоих шаблонов. Во второй строке задан первый шаблон — строка, состоящая из цифр и знаков «?». Длина этой строки равна n. В третьей строке задан второй шаблон в аналогичном формате.

Выходные данные

В единственную строку выведите остаток от деления ответа на задачу на число 1000000007 (109 + 7).

Примеры
Входные данные
2
90
09
Выходные данные
1
Входные данные
2
11
55
Выходные данные
0
Входные данные
5
?????
?????
Выходные данные
993531194
Примечание

В первом тесте нет знаков вопроса и обе строки несравнимы, поэтому ответ — 1.

Во втором тесте нет знаков вопроса, но заданные строки сравнимы, поэтому ответ — 0.