Вам дана строка s состоящая только из цифр «1»-«9», символов «a»-«z», «*» и «=» представляющая из себя уравнение. В уравнении присутствуют только операции умножения (символ «*»), целые положительные числа меньшие 10, а также неизвестные переменные. Переменные могут находиться только по левую сторону уравнения, могут встречаться несколько раз, а их имена являются строчными буквами латинского алфавита.
Если вместо неизвестных переменных подставить некотороые целые положительные числа так, что результат выполнения операций левой части уравнения совпадет с результатом правой, то такой набор чисел называется решением данного уравнения.
Определите, сколько всего решений существует у данного уравнения. Два решения считаются различными, если найдется хотя бы одна присутсвующая в уравнении переменная, значение которой отличается.
Вам дана единственная строка s (|s| ≤ 1 000) — исходное уравнение. В строке присутсвует ровно один символ «=».
Гарантируется, что в уравнении присутсвует как минимум одна неизвестная переменная.
В единственной строке выведите одно целое число — количество решений данного уравнения по модулю 109 + 7.
Выведите «-1», если уравнение имеет бесконечное количество решений.
a*b=4*2
4
x*y*1=7*9*8*8
42
Все решения для уравнения из первого примера: