#agc055f. [agc055_f]Creative Splitting

[agc055_f]Creative Splitting

给定 N,K,PN,K,P

称一个长度为 KK 的数组 {ai}\{a_i\} 是好的当且仅当 1aii1\le a_i\le i

称一个长度为 NKNK 的数组 {bi}\{b_i\} 是合法的当且仅当可以被分成 NN 个长度为 KK 的子序列,每个都是好的。

f(pos,val)f(pos,val) 表示 bpos=valb_{pos}=val 的合法序列数。对 1posNK,1valK1\le pos\le NK,1\le val\le K 求出 f(pos,val)modPf(pos,val)\bmod P

1N,K20,108P1091\le N,K\le 20,10^8\le P\le 10^9PP 为质数。