#1797. 「NOI2015」寿司晚宴

「NOI2015」寿司晚宴

题目描述

为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴。小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴。

在晚宴上,主办方为大家提供了 n1n−1 种不同的寿司,编号 1,2,3,,n11,2,3, \ldots , n−1,其中第 ii 种寿司的美味度为 i+1i+1 (即寿司的美味度为从 22nn)。

现在小 G 和小 W 希望每人选一些寿司种类来品尝,他们规定一种品尝方案为不和谐的当且仅当:小 G 品尝的寿司种类中存在一种美味度为 xx 的寿司,小 W 品尝的寿司中存在一种美味度为 yy 的寿司,而 xxyy 不互质。

现在小 G 和小 W 希望统计一共有多少种和谐的品尝寿司的方案(对给定的正整数 pp 取模)。注意一个人可以不吃任何寿司。

输入格式

输入文件的第一行包含两个正整数 n,pn,p,中间用单个空格隔开,表示共有 nn 种寿司,最终和谐的方案数要对 pp 取模。

输出格式

输出一行包含一个整数,表示所求的方案模 pp 的结果。

样例

3 10000
9

数据范围与提示

2n500, 0<p10000000002 \leq n \leq 500, \ 0 < p \leq 1000000000