U177075 [JDWOI-2] 括号串
题目背景
括号,在一张一合中尽显美感。
题目描述
小 M 写下了一个长度为 $n$ 的括号串,使得其中能够成功匹配的括号对数尽可能多。
但第二天,小 M 却找不到她的括号串了,于是她去找小 K 帮忙,并仅仅告诉他括号串的长度。小 K 清楚的知道,这样的括号串有很多个,所以他问你,一共有多少个括号串满足要求呢?由于答案很大,他只需知道答案对 $M$ 取模后的结果。
输入格式
**本题多测**。
第一行两个整数 $Q,M$,表示数据组数和模数,保证 $M$ 是质数。
对于每组数据,一行一个整数 $n$,表示括号串长度。
输出格式
对于每组数据,一行一个整数,表示答案对 $M$ 取模后的值。
说明/提示
**【样例解释】**
当 $n=1$ 时,满足要求的括号串为 ```(``` 和 ```)```。
当 $n=2$ 时,满足要求的括号串为 ```()```。
当 $n=3$ 时,满足要求的括号串为 ```(()``` , ```()(```,```)()```,```())```。
**【数据范围】**
对于 $10\%$ 的数据,$1\leq n\leq 20$;
对于 $40\%$ 的数据,$1\leq n\leq 2\times10^3$;
对于 $100\%$ 的数据,$1\leq n\leq 2\times10^6$,$1\leq Q\leq 2\times10^5$,$10^7\leq M\leq 2\times10^9$。