#5241. [Lydsy2017省队十连测]基本题

内存限制:512 MiB 时间限制:10 Sec

题目描述

所谓的考试,就一定会有一道基本题给大家送分,而不嵌套题目的基本题怎么称得上基本呢?我们可以把基本题具
体看成由(),!四种字符组成的一个字符串,一道基本题是由若干个嵌套题中间加上,分隔组成,而所谓的嵌套题指
的是一对括号之间放入若干道由!分隔的基本题。例如(()!(()!())),(()!())就是一道基本题。当然在出题的时候
我们会尽量避免出到重题,嵌套题A和B相同指的是A中的所有基本题变换顺序之后可以变成B,例如(()!(()))与(((
))!())相同,而基本题A和B相同指的是将A的嵌套题平移后可以变成B,例如(),(()),(()!())与 (()),(()!()),()
还有 (()!()),(),(())相同,与(()),(),(()!())不同。这天小火车找到了n个合适的题目来出基本题,他想知道有
多少道恰有n对括号的合法且互不相同的基本题。
例如当n=3时共有5个不同的基本题,分别是"((()))" "(()!())""((),())""(()),()"和"(),(),()"。

输入格式

第一行两个整数t和p,其中t表示数据组数。保证p为质数。
接下来t行每行一个整数n表示一组询问。
n<=250<p<230,t<=250

输出格式

t行每行一个整数表示答案,对p取模。

样例

样例输入


			
5 2333
1
2
3
4
5

样例输出


			
1
2
5
14
42

数据范围与提示

三个测试点!