[NOI2015]寿司晚宴

题目描述

为了庆祝NOI的成功开幕,主办方为大家准备了一场寿司晚宴。小G和小W作为参加NOI的选手,也被邀请参加了寿司晚宴。 在晚宴上,主办方为大家提供了n−1种不同的寿司,编号1,2,3,⋯,n-1,其中第种寿司的美味度为i+1(即寿司的美味度为从2到n)。 现在小G和小W希望每人选一些寿司种类来品尝,他们规定一种品尝方案为不和谐的当且仅当:小G品尝的寿司种类中存在一种美味度为x的寿司,小W品尝的寿司中存在一种美味度为y的寿司,而x与y不互质。 现在小G和小W希望统计一共有多少种和谐的品尝寿司的方案(对给定的正整数p取模)。注意一个人可以不吃任何寿司。

输入输出格式

输入格式


从文件dinner.in中读入数据。 输入文件的第1行包含2个正整数n,p中间用单个空格隔开,表示共有n种寿司,最终和谐的方案数要对p取模。

输出格式


输出到文件dinner.out中。 输出一行包含1个整数,表示所求的方案模p的结果。

输入输出样例

输入样例 #1

3 10000

输出样例 #1

9

输入样例 #2

4 10000

输出样例 #2

21

输入样例 #3

100 100000000

输出样例 #3

3107203

说明

【数据范围】 ![](https://cdn.luogu.com.cn/upload/pic/1506.png) 【时限1s,内存512M】