M = 1_000_003
def f(n, k):
i = pow(pow(n, k, M) - 1 + M, M - 2, M)
return (n - pow(n, k, M) - pow(n, (1 + k), M) + pow(n, (k *(1 + n)), M)) * (pow(i, 2, M))
def g(n, k):
return (n - n**k -n**(1+k)+n**(k*(1+n))) //(1-n**k)**2
def _solve(n):
m = pow(n, 1 + n, M)
m = n**(1+n)
s = n * (n + 1) // 2
# print("_s:", s)
s = (s * (m - n ** 2) // (n-1)**2) % M
# print("_s :", s)
a, b = m, n + n**2
for k in range(2, n):
inv = pow(pow(n, k, M) - 1 + M, M - 2, M)
a = (a * m) % M
b = (b * n) % M
s = ((s * (a - b + n)) * pow(inv, 2, M)) % M
# print("_s:", s)
return s % M
def solve(n):
s = n * (n + 1) // 2
for k in range(1, n):
s = (s * g(n, k))
return s % M
for n in range(2, 50):
print(_solve(n))
# 1
# 12
# 11016
# 378532
# 604702
# 175276
# 543846
# 920780
# 187768
# 410299
# 806793
# 31177
To embed this program on your website, copy the following code and paste it into your website's HTML: