Submission #3432873


Source Code Expand

N,M=map(int,input().split())
MAX_N=2*10**5
P=10**9+7
def egcd(a, b):
    (x, lastx) = (0, 1)
    (y, lasty) = (1, 0)
    while b != 0:
        q = a // b
        (a, b) = (b, a % b)
        (x, lastx) = (lastx - q * x, x)
        (y, lasty) = (lasty - q * y, y)
    return (lastx, lasty, a)
def inv(x):
    return egcd(x,P)[0]
Fact=[0 for i in range(MAX_N+1)]
Finv=[0 for i in range(MAX_N+1)]
Fact[0]=1
Finv[0]=1
for i in range(MAX_N):
    Fact[i+1]=(Fact[i]*(i+1))%P
    Finv[i+1]=inv(Fact[i+1])%P
def C(n,k):
    return (Fact[n]*(Finv[k]*Finv[n-k])%P)%P
def H(n,r):
    return C(n+r-1,r-1)
ans=1
def factorize(n):
    fct = []  # prime factor
    b, e = 2, 0  # base, exponent
    while b * b <= n:
        while n % b == 0:
            n = n // b
            e = e + 1
        if e > 0:
            fct.append((b, e))
        b, e = b + 1, 0
    if n > 1:
        fct.append((n, 1))
    return fct
D=factorize(M)
for seq in D:
    k=seq[1]
    ans=ans*C(k+N-1,N-1)
    ans=ans%P
print(ans)

Submission Info

Submission Time
Task D - Factorization
User shakayami
Language Python (3.4.3)
Score 400
Code Size 1040 Byte
Status AC
Exec Time 1308 ms
Memory 19008 KB

Judge Result

Set Name All Sample
Score / Max Score 400 / 400 0 / 0
Status
AC × 36
AC × 3
Set Name Test Cases
All 0_small_1, 0_small_2, 0_small_3, 1_large_1, 1_large_2, 1_large_3, 2_large_1, 2_large_2, 3_prime_1, 3_prime_10, 3_prime_11, 3_prime_12, 3_prime_13, 3_prime_14, 3_prime_15, 3_prime_16, 3_prime_17, 3_prime_18, 3_prime_19, 3_prime_2, 3_prime_20, 3_prime_21, 3_prime_22, 3_prime_3, 3_prime_4, 3_prime_5, 3_prime_6, 3_prime_7, 3_prime_8, 3_prime_9, 4_hand_1, 4_hand_2, 4_hand_3, sample_01, sample_02, sample_03
Sample sample_01, sample_02, sample_03
Case Name Status Exec Time Memory
0_small_1 AC 1285 ms 18964 KB
0_small_2 AC 1290 ms 18964 KB
0_small_3 AC 1294 ms 18964 KB
1_large_1 AC 1277 ms 18920 KB
1_large_2 AC 1287 ms 18880 KB
1_large_3 AC 1290 ms 18880 KB
2_large_1 AC 1294 ms 18880 KB
2_large_2 AC 1284 ms 18884 KB
3_prime_1 AC 1294 ms 18880 KB
3_prime_10 AC 1279 ms 18880 KB
3_prime_11 AC 1288 ms 18880 KB
3_prime_12 AC 1297 ms 18880 KB
3_prime_13 AC 1293 ms 18880 KB
3_prime_14 AC 1290 ms 19008 KB
3_prime_15 AC 1285 ms 18880 KB
3_prime_16 AC 1287 ms 18880 KB
3_prime_17 AC 1296 ms 18880 KB
3_prime_18 AC 1308 ms 18880 KB
3_prime_19 AC 1286 ms 18880 KB
3_prime_2 AC 1287 ms 18880 KB
3_prime_20 AC 1281 ms 18880 KB
3_prime_21 AC 1286 ms 18920 KB
3_prime_22 AC 1287 ms 18880 KB
3_prime_3 AC 1292 ms 18880 KB
3_prime_4 AC 1283 ms 18880 KB
3_prime_5 AC 1292 ms 18880 KB
3_prime_6 AC 1280 ms 18880 KB
3_prime_7 AC 1283 ms 18920 KB
3_prime_8 AC 1290 ms 18880 KB
3_prime_9 AC 1285 ms 18880 KB
4_hand_1 AC 1281 ms 18880 KB
4_hand_2 AC 1298 ms 18964 KB
4_hand_3 AC 1291 ms 18964 KB
sample_01 AC 1288 ms 18912 KB
sample_02 AC 1287 ms 18912 KB
sample_03 AC 1283 ms 18880 KB