Задача 837
Амидакудзи

Амидакудзи (яп. 阿弥陀籤) - это метод выполнения произвольной перестановки множества объектов.

Вначале проводятся параллельные вертикальные линии, по одной на каждый объект. Затем последовательно добавляется определенное число горизонтальных мостиков, каждый ниже всех предыдущих. Каждый мостик являет собой отрезок, соединяющий случайную пару параллельных линий.

Например, нижеприведенная схема показывает амидакудзи с тремя объектами ($A$, $B$, $C$) и шестью мостиками:

0837_amidakuji.png

Цветные линии на схеме иллюстрируют механизм выполнения перестановки. Для каждого объекта, начиная с вершины соответствующей вертикальной линии, следуйте вниз и переходите по каждому встреченному мостику. Наконец, запишите, на какой вертикальной линии завершится путь. В данном примере полученная перестановка выглядит так: $A\mapsto A$, $B\mapsto B$, $C\mapsto C$.

Пусть $a(m, n)$ будет количеством различных амидакудзи с тремя объектами, содержащих $m$ мостиков между $A$ и $B$ и $n$ мостиков между $B$ и $C$, которые приводят к перестановке, идентичной исходному порядку объектов. Например, $a(3, 3) = 2$, так как указанным требованиям соответствует только показанная выше амидакудзи и ее зеркальное отображение.

Также известно, что $a(123, 321) \equiv 172633303 \pmod{1234567891}$.

Найдите $a(123456789, 987654321)$. В качестве ответа приведите остаток от деления полученного результата на $1234567891$.

Оригинал
 
© Проект Эйлера | Translated problems from ProjectEuler.net