4094: Future Failure

内存限制:256 MB 时间限制:2 S
题面:传统 评测方式:文本比较 上传者:
提交:1 通过:1

题目描述

C. Future Failure
time limit per test
3 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
Alice and Bob are playing a game with a string of characters, with Alice going first. The string consists n characters, each of which is one of the first k letters of the alphabet. On a player’s turn, they can either arbitrarily permute the characters in the words, or delete exactly one character in the word (if there is at least one character). In addition, their resulting word cannot have appeared before throughout the entire game. The player unable to make a valid move loses the game.
Given n,k,p, find the number of words with exactly n characters consisting of the first k letters of the alphabet such that Alice will win if both Alice and Bob play optimally. Return this number modulo the prime number p.
Input
The first line of input will contain three integers n,k,p (1≤n≤250000, 1≤k≤26, 108p≤109+100, p will be prime).
Output
Print a single integer, the number of winning words for Alice, modulo p.
Example
Input
4 2 100000007
Output
14
Note
There are 14 strings that that Alice can win with. For example, some strings are "bbaa" and "baaa". Alice will lose on strings like "aaaa" or "bbbb".

输入样例 复制


输出样例 复制