zhx's contest

Accepts: 94
Submissions: 847
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
作为史上最强的刷子之一,zhx的老师让他给学弟(mei)们出$n$道题。
zhx认为第$i$道题的难度就是$i$。他想要让这些题目排列起来很漂亮。
zhx认为一个漂亮的序列$\{a_{i}\}$下列两个条件均需满足。
1:$a_{1} .. a_{i}$是单调递减或者单调递增的。
2:$a_{i} .. a_{n}$是单调递减或者单调递增的。
他想你告诉他有多少种排列是漂亮的。
因为答案很大,所以只需要输出答案模$p$之后的值。
输入描述
多组数据(不多于$1000$组)。读到文件尾。
每组数据包含一行两个整数$n$和$p$。($1 \leq n,p \leq 10^{18}$)
输出描述
每组数据输出一行一个非负整数表示答案。
输入样例
2 233
3 5
输出样例
2
1
Hint
第一组数据中{1, 2}和{2, 1}合法。
第二组数据中{1, 2, 3}, {1, 3, 2}, {2, 1, 3}, {2, 3, 1}, {3, 1, 2}, {3, 2, 1}都合法,所以答案是6 mod 5 = 1。