「MCOI-02」Convex Hull 凸包

题目背景

一场比赛需要一道签到题。

题目描述

Leasier 玩 MC 被逮到了,所以他只好算出下面这个式子的值。 $$\displaystyle\sum_{i = 1}^n \sum_{j = 1}^m \tau(i) \tau(j) \tau(\gcd(i, j))$$ 由于结果可能很大,所以你只需要求出结果对 $p$ 取模的值。 如果您对本题的数学符号有疑问,请到「提示」区查看提示。

输入输出格式

输入格式


一行,三个整数 $n, m, p$。

输出格式


一行,一个整数,表示所求的值。

输入输出样例

输入样例 #1

5 7 9

输出样例 #1

5

说明

#### 数据规模和约定 **本题开启捆绑测试。** | Subtask | $n, m$ | 分值 | | :------: | :------: | :------: | | $1$ | $1 \leq n, m \leq 10^3$ | $15 \operatorname{pts}$ | | $2$ | $1 \leq n, m \leq 10^5$ | $25 \operatorname{pts}$ | | $3$ | $1 \leq n, m \leq 10^6$ | $30 \operatorname{pts}$ | | $4$ | 无特殊限制 | $30 \operatorname{pts}$ | 对于 $100\%$ 的数据,$1 \leq n, m \leq 2 \times 10^6$,$1 \leq p \leq 10^9$。 #### 提示 作为对萌新友好的签到题,肯定是要给提示的。 - $\sum$ 为求和符号,比如 $\displaystyle\sum_{i = 1}^n i$ 代表 $1 + 2 + \cdots + n$。 - $\tau$ 表示约数个数,比如 $\tau(6) = 4$。 - $\gcd$ 是最大公约数,比如 $\gcd(12, 15) = 3$。 #### 说明 Minecraft OI Round 2 A - Maker:Leasier - Tester:happydef