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

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: