A+B

아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

Рассмотрим aa, bb и cc --- целые неотрицательные числа, записанные в десятичной системе счисления. Пусть они имеют одинаковую длину nn, при этом запись может начинаться с нуля. Числа записаны одно под другим, цифры расположены в три строки и nn столбцов. Рассмотрим пример такой записи:

01211
12099
23300

Требуется переставить столбцы в этой записи таким образом, чтобы выполнялось равенство a+b=ca+b=c. В полученной записи ведущие нули уже запрещены. Сколько существует различных способов это сделать?

Перестановки столбцов считаются различными, даже если полученные записи совпадают. Например, если в записи выше переставить два последних столбца, получится другая перестановка, хотя цифры в этих колонках совпадают.

Поскольку ответ может быть довольно большим, требуется посчитать для него остаток по модулю 109+710^9+7.

입력

Во входных данных записаны целые неотрицательные числа aa, bb и cc по одному в строке. Каждое число состоит из nn десятичных цифр и может начинаться с нуля (2n21052 \leq n \leq 2 \cdot 10^5).

출력

Выведите количество подходящих перестановок столбцов по модулю 109+710^9+7.

힌트

В первом примере подходят все перестановки столбцов.

Во втором примере единственная подходящая перестановка --- 10+20=3010+20=30. 01+02=0301+02=03 не считается из-за наличия ведущих нулей.

В третьем примере возможны варианты 10121+21909=3203010121+21909=32030 и 12101+20919=3302012101+20919=33020, причём каждый из них может быть получен двумя разными перестановками.