CF1228C.Primes and Multiplication

普及+/提高

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Let's introduce some definitions that will be needed later.

Let prime(x)prime(x) be the set of prime divisors of xx. For example, prime(140)=2,5,7prime(140) = { 2, 5, 7 }, prime(169)=13prime(169) = { 13 }.

Let g(x,p)g(x, p) be the maximum possible integer pkp^k where kk is an integer such that xx is divisible by pkp^k. For example:

  • g(45,3)=9g(45, 3) = 9 (4545 is divisible by 32=93^2=9 but not divisible by 33=273^3=27),
  • g(63,7)=7g(63, 7) = 7 (6363 is divisible by 71=77^1=7 but not divisible by 72=497^2=49).

Let f(x,y)f(x, y) be the product of g(y,p)g(y, p) for all pp in prime(x)prime(x). For example:

  • f(30,70)=g(70,2)⋅g(70,3)⋅g(70,5)=21⋅30⋅51=10f(30, 70) = g(70, 2) \cdot g(70, 3) \cdot g(70, 5) = 2^1 \cdot 3^0 \cdot 5^1 = 10,
  • f(525,63)=g(63,3)⋅g(63,5)⋅g(63,7)=32⋅50⋅71=63f(525, 63) = g(63, 3) \cdot g(63, 5) \cdot g(63, 7) = 3^2 \cdot 5^0 \cdot 7^1 = 63.

You have integers xx and nn. Calculate f(x,1)⋅f(x,2)⋅…⋅f(x,n) mod (109+7)f(x, 1) \cdot f(x, 2) \cdot \ldots \cdot f(x, n) \bmod{(10^{9} + 7)}.

我们先引入一些后续需要用到的定义。

设 prime(x)prime(x) 表示 xx 的所有质因数构成的集合。例如,prime(140)={2,5,7}prime(140) = \{ 2, 5, 7 \},prime(169)={13}prime(169) = \{ 13 \}。

设 g(x,p)g(x, p) 表示形如 pkp^k(其中 kk 为非负整数)的最大整数,使得 xx 能被 pkp^k 整除。例如:

  • g(45,3)=9g(45, 3) = 9(因为 4545 能被 32=93^2 = 9 整除,但不能被 33=273^3 = 27 整除),
  • g(63,7)=7g(63, 7) = 7(因为 6363 能被 71=77^1 = 7 整除,但不能被 72=497^2 = 49 整除)。

设 f(x,y)f(x, y) 表示对所有 p∈prime(x)p \in prime(x),将 g(y,p)g(y, p) 相乘所得的乘积。例如:

  • f(30,70)=g(70,2)⋅g(70,3)⋅g(70,5)=21⋅30⋅51=10f(30, 70) = g(70, 2) \cdot g(70, 3) \cdot g(70, 5) = 2^1 \cdot 3^0 \cdot 5^1 = 10,
  • f(525,63)=g(63,3)⋅g(63,5)⋅g(63,7)=32⋅50⋅71=63f(525, 63) = g(63, 3) \cdot g(63, 5) \cdot g(63, 7) = 3^2 \cdot 5^0 \cdot 7^1 = 63。

给定整数 xx 和 nn,请计算 f(x,1)⋅f(x,2)⋅…⋅f(x,n) mod (109+7)f(x, 1) \cdot f(x, 2) \cdot \ldots \cdot f(x, n) \bmod{(10^{9} + 7)}。

输入格式

The only line contains integers xx and nn (2≤x≤1092 \le x \le 10^{9}, 1≤n≤10181 \le n \le 10^{18}) — the numbers used in formula.

唯一的一行包含整数 xx 和 nn(2≤x≤1092 \le x \le 10^{9},1≤n≤10181 \le n \le 10^{18})——公式中使用的数字。

输出格式

Print the answer.

输出答案。

输入输出样例

  • 输入#1

    10 2

    输出#1

    2
  • 输入#2

    20190929 1605

    输出#2

    363165664
  • 输入#3

    947 987654321987654321

    输出#3

    593574252

说明/提示

In the first example, f(10,1)=g(1,2)⋅g(1,5)=1f(10, 1) = g(1, 2) \cdot g(1, 5) = 1, f(10,2)=g(2,2)⋅g(2,5)=2f(10, 2) = g(2, 2) \cdot g(2, 5) = 2.

In the second example, actual value of formula is approximately 1.597⋅101711.597 \cdot 10^{171}. Make sure you print the answer modulo (109+7)(10^{9} + 7).

In the third example, be careful about overflow issue.

在第一个例子中,f(10,1)=g(1,2)⋅g(1,5)=1f(10, 1) = g(1, 2) \cdot g(1, 5) = 1,f(10,2)=g(2,2)⋅g(2,5)=2f(10, 2) = g(2, 2) \cdot g(2, 5) = 2。

在第二个例子中,公式的实际值约为 1.597⋅101711.597 \cdot 10^{171}。请确保输出答案对 (109+7)(10^{9} + 7) 取模的结果。

在第三个例子中,请注意溢出问题。

输入解题思路,AI测评打分。不知道怎么写?

首页