#CF1943D1. 计数很有趣(简单版)

计数很有趣(简单版)

计数很有趣(简单版)

  • 时间限制:3 秒
  • 内存限制:1024 MiB

题目描述

一个长度为 mm 的非负整数数组 bb 称为好数组,当且仅当可以执行若干次下述操作,使所有元素都变为 00:

  • 选择两个不同的下标 l,rl,r,满足 1≤l<r≤m1\le l<r\le m,将区间 [l,r][l,r] 中的每个元素都减去 11。

给定正整数 n,kn,k 和质数 pp。在全部满足 0≤ai≤k0\le a_i\le k 的长度为 nn 的数组 aa 中,统计好数组的数量,并对 pp 取模。

输入格式

第一行一个整数 tt,表示测试用例数。

每个测试用例包含一行三个整数 n,k,pn,k,p。

输出格式

对每个测试用例输出一行一个整数,表示好数组数量对 pp 取模的结果。

样例输入

4
3 1 998244853
4 1 998244353
3 2 998244353
343 343 998244353

样例输出

4
7
10
456615865

样例解释

第一个测试用例中的四个好数组为 [0,0,0][0,0,0]、[0,1,1][0,1,1]、[1,1,0][1,1,0] 和 [1,1,1][1,1,1]。

数据范围

1≤t≤10001\le t\le1000,3≤n≤4003\le n\le400,1≤k≤n1\le k\le n,108<p<10910^8<p<10^9,且 pp 为质数。所有测试用例的 n2n^2 之和不超过 2×1052\times10^5。

子任务编号 分值 特殊限制
1 20 n≤7n\le7 且 k≤3k\le3
2 k=1k=1
3 30 n≤60n\le60
4 无特殊限制