#5133. 【模板】乘法逆元

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Laffey

题目描述

Laffey 感到自己对逆元的求解方式并不熟悉,于是他跑来加了这道题。

给两个数 n, p ,请求出 1 \sim n 之间每个数的乘法逆元,这里要求乘法逆元必须为正整数且小于 p

由于输出太多不好,因此你只需输出所有数乘法逆元的异或和。

输入数据保证 p 为质数。

输入格式

仅一行两个正整数,分别为 n, p

输出格式

仅一行一个正整数表示答案。

样例

样例输入 #1

10 13

样例输出 #1

6

样例输入 #2

11451 13331

样例输出 #2

3206

数据范围与提示

1 \leq n \leq 10^7, p \leq 10^9 + 7 ,数据保证 p 为质数。