507. 可怜的小珅

提交1 通过1
通过率100%
时间限制1000ms
内存限制256MiB
    ID: 507 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 普及- 上传者: 标签>结构化程序设计多层循环语句编程题c++

题目描述

题目描述

可怜的小珅还是小学生,刘老师就给他出了一道题。这道题给出了一个 nn 和 pp,让他求 (1!+2!+3!+⋯+n!) mod p(1! + 2! + 3! + \dots + n!) \bmod p 的值。

小珅算了一个小时都没算完,他已经崩溃了。于是他找到了你,想让你帮忙解决这道疯狂的题。

注:n!n! 表示 nn 的阶乘,即 1×2×⋯×n1 \times 2 \times \dots \times n。

输入格式

输入只有一行,包含两个正整数 nn 和 pp。

输出格式

输出只有一行,即为式子的值。

5 1000

153
7 10
3
1000000000000000 9999999
8611659

数据规模与约定

对于 20%20\% 的数据,1≤n≤10001 \le n \le 1000。

对于 50%50\% 的数据,1≤n≤100000001 \le n \le 10000000。

对于 100%100\% 的数据,1≤n≤10161 \le n \le 10^{16},1≤p≤100000001 \le p \le 10000000。