n = int(eval(input()))

m = 10**9+7

primes = [2,3,5,7,11,13,17,19,23,29,31]

D = [0]*1001





for i in range(2, n+1):

    v = i

    for p in range(2, 1000):

        while(v % p == 0):

            D[p] += 1

            v //= p

        if v == 1:

            break

    if(v == i):

        D[i] += 1



score = 1

for d in D:

    score = score * (d + 1)

print((score % m))

n = int(eval(input()))

m = 10**9+7

primes = [2,3,5,7,11,13,17,19,23,29,31]

D = [0]*1001



for i in range(2, n+1):

    for p in primes:

        while(i % p == 0):

            D[p] += 1

            i //= p

    if i > 1:

        D[i] += 1



score = 1

for d in D:

    score = (score * (d + 1)) % m

print(score)

n = int(eval(input()))
m = 10**9 + 7
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]
D = [0] * 1001
for i in range(2, n + 1):
    v = i
    for p in range(2, 1000):
        while v % p == 0:
            D[p] += 1
            v //= p
        if v == 1:
            break
    if v == i:
        D[i] += 1
score = 1
for d in D:
    score = score * (d + 1)
print((score % m))

n = int(eval(input()))
m = 10**9 + 7
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]
D = [0] * 1001
for i in range(2, n + 1):
    for p in primes:
        while i % p == 0:
            D[p] += 1
            i //= p
    if i > 1:
        D[i] += 1
score = 1
for d in D:
    score = (score * (d + 1)) % m
print(score)

-    v = i -    for p in range(2, 1000): -        while v % p == 0: +    for p in primes: +        while i % p == 0: -            v //= p -        if v == 1: -            break -    if v == i: +            i //= p +    if i > 1: -    score = score * (d + 1) -print((score % m)) +    score = (score * (d + 1)) % m +print(score)