Codeforces Round 842 (Div. 2) |
---|
Закончено |
Рассмотрим перестановку$$$^\dagger$$$ $$$p$$$ длины $$$3n$$$. За один шаг вы можете выполнить одну из следующих операций:
Можно показать, что любую перестановку можно отсортировать по возрастанию, используя только эти операции. Пусть $$$f(p)$$$ — минимальное количество операций, необходимых для сортировки перестановки $$$p$$$ в возрастающем порядке.
По данному $$$n$$$ найдите сумму $$$f(p)$$$ по всем $$$(3n)!$$$ перестановкам $$$p$$$ длины $$$3n$$$.
Так как ответ может быть очень большим, выведите его по модулю простого числа $$$M$$$.
$$$^\dagger$$$ Перестановкой длины $$$n$$$ называется массив, состоящий из $$$n$$$ различных целых чисел от $$$1$$$ до $$$n$$$ в произвольном порядке. Например, $$$[2,3,1,5,4]$$$ является перестановкой, но $$$[1,2,2]$$$ не является перестановкой ($$$2$$$ встречается дважды в массиве) и $$$[1,3,4]$$$ тоже не является перестановкой ($$$n=3$$$, но в массиве присутствует $$$4$$$).
Единственная строка ввода содержит два числа $$$n$$$ и $$$M$$$ ($$$1 \leq n \leq 10^6$$$, $$$10^8 \leq M \leq 10^9$$$). Гарантируется, что $$$M$$$ — простое число.
Выведите ответ по модулю $$$M$$$.
1 100009067
9
2 100000357
1689
69 999900997
193862705
В первом примере считается сумма по данным перестановкам:
Таким образом, ответ $$$0+1+1+2+2+3=9$$$.
Название |
---|