Submission #1595563


Source Code Expand

from collections import defaultdict
N,M = map(int, input().split())
AN = abs(N)
MOD = 10**9+7

factors = defaultdict(lambda: 0)
p = 2
n = AN
while p*p <= AN:
    while n%p == 0:
        n //= p
        factors[p] += 1
    p += 1
if n != 1:
    factors[n] += 1

def mul(a,b):
    return (a * b) % MOD

def pow(a,n): # a^n
    ret = 1
    mag = a
    while n > 0:
        if n & 1:
            ret = mul(ret, mag)
        mag = mul(mag, mag)
        n >>= 1
    return ret

def inv(a):
    return pow(a,MOD-2)

fac = [1]
fac_inv = [1]
for n in range(1,M+100):
    f = mul(fac[n-1], n)
    fac.append(f)
    fac_inv.append(inv(f))

def ncr(n,r):
    return mul(mul(fac[n], fac_inv[n-r]), fac_inv[r])

def nhr(n,r):
    a = ncr(n+r-1, r)
    return ncr(n+r-1, r)

ans = 1
for n in factors.values():
    ans = mul(ans, nhr(M,n))
ans = mul(ans, pow(2,M-1))
print(ans)

Submission Info

Submission Time
Task D - 表現の自由 ( Freedom of expression )
User prd_xxx
Language Python (3.4.3)
Score 100
Code Size 913 Byte
Status AC
Exec Time 1288 ms
Memory 11372 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 40
Set Name Test Cases
All 00_max.txt, 00_max2.txt, 00_max3.txt, 00_min.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 01_rnd_20.txt, 01_rnd_21.txt, 01_rnd_22.txt, 01_rnd_23.txt, 01_rnd_24.txt, 01_rnd_25.txt, 01_rnd_26.txt, 01_rnd_27.txt, 01_rnd_28.txt, 01_rnd_29.txt, 04_primes_01.txt, 04_primes_02.txt
Case Name Status Exec Time Memory
00_max.txt AC 1273 ms 11360 KB
00_max2.txt AC 1288 ms 11308 KB
00_max3.txt AC 1272 ms 11372 KB
00_min.txt AC 21 ms 3316 KB
00_sample_01.txt AC 21 ms 3316 KB
00_sample_02.txt AC 28 ms 3316 KB
00_sample_03.txt AC 21 ms 3316 KB
00_sample_04.txt AC 34 ms 3444 KB
01_rnd_00.txt AC 528 ms 6668 KB
01_rnd_01.txt AC 167 ms 4308 KB
01_rnd_02.txt AC 42 ms 3444 KB
01_rnd_03.txt AC 482 ms 6364 KB
01_rnd_04.txt AC 428 ms 6232 KB
01_rnd_05.txt AC 551 ms 6848 KB
01_rnd_06.txt AC 197 ms 4592 KB
01_rnd_07.txt AC 225 ms 4660 KB
01_rnd_08.txt AC 1223 ms 11112 KB
01_rnd_09.txt AC 705 ms 7732 KB
01_rnd_10.txt AC 765 ms 8064 KB
01_rnd_11.txt AC 862 ms 8760 KB
01_rnd_12.txt AC 1099 ms 10304 KB
01_rnd_13.txt AC 567 ms 6900 KB
01_rnd_14.txt AC 669 ms 7584 KB
01_rnd_15.txt AC 243 ms 4792 KB
01_rnd_16.txt AC 877 ms 8876 KB
01_rnd_17.txt AC 1258 ms 11356 KB
01_rnd_18.txt AC 960 ms 9424 KB
01_rnd_19.txt AC 174 ms 4476 KB
01_rnd_20.txt AC 646 ms 7376 KB
01_rnd_21.txt AC 625 ms 7312 KB
01_rnd_22.txt AC 284 ms 5172 KB
01_rnd_23.txt AC 812 ms 8448 KB
01_rnd_24.txt AC 969 ms 9460 KB
01_rnd_25.txt AC 1135 ms 10632 KB
01_rnd_26.txt AC 731 ms 7928 KB
01_rnd_27.txt AC 541 ms 6628 KB
01_rnd_28.txt AC 568 ms 6972 KB
01_rnd_29.txt AC 1134 ms 10536 KB
04_primes_01.txt AC 1278 ms 11368 KB
04_primes_02.txt AC 1277 ms 11368 KB