У вас есть последовательность цифр $1$ и $2$. За один шаг можно:
- Вставить $1$ в позицию, находящуюся правее всех остальных единиц (или в любую позицию, если единиц нет).
- Превратить любую $2$ в $1$, если справа от этой двойки нет единиц.
- Удалить самую правую $1$ (обратите внимание, что эта операция обратна операции 1).
- Превратить самую правую $1$ в $2$ (обратите внимание, что эта операция обратна операции 2).
Например, из последовательности $11212122$ за один шаг можно получить следующие последовательности:
- Операцией 1: $112121122$, $112121212$, $112121221$.
- Операцией 2: $11212112$, $11212121$.
- Операцией 3: $1121222$.
- Операцией 4: $11212222$.
Ваша задача — вычислить количество способов превратить последовательность ровно из $a$ двоек в последовательность ровно из $b$ двоек, выполнив ровно $t$ операций.
Входные данные
Единственная строка входных данных содержит три целых числа $a$, $b$ и $t$ ($0 \le a, b, t \le 10^6$).
Выходные данные
Выведите количество способов получить последовательность из $b$ двоек из последовательности из $a$ двоек ровно за $t$ шагов. Поскольку это число может быть очень большим, выведите его по модулю простого числа $998\,244\,353$.
Примеры
Входные данные 1
0 0 4
Выходные данные 1
3
Входные данные 2
1 4 6
Выходные данные 2
60
Примечание
В первом примере нужно получить пустую последовательность из пустой последовательности за 4 шага. Это можно сделать следующими способами ($\varepsilon$ обозначает пустую последовательность):
$$ \varepsilon \to 1 \to \varepsilon \to 1 \to \varepsilon $$
$$ \varepsilon \to 1 \to 11 \to 1 \to \varepsilon $$
$$ \varepsilon \to 1 \to 2 \to 1 \to \varepsilon $$