N = int(eval(input()))

m = pow(10,9)+7



A = [1]*(N+1)

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

    k = n

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

        if k%i==0:

            while k>1:

                k//=i

                A[i]+=1

                if k%i!=0:break

ans = 1

for a in A:ans*=a

print((ans%m))
N = int(eval(input()))

mod = pow(10,9)+7

A = [1]*(N+1)

for i in range(1,N+1):

    n = i

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

        if j>n:break

        while n%j==0:

            A[j]+=1

            n//=j

cnt = 1

for i in range(N+1):

    cnt *= A[i]

print((cnt%mod))
N = int(eval(input()))
m = pow(10, 9) + 7
A = [1] * (N + 1)
for n in range(2, N + 1):
    k = n
    for i in range(2, n + 1):
        if k % i == 0:
            while k > 1:
                k //= i
                A[i] += 1
                if k % i != 0:
                    break
ans = 1
for a in A:
    ans *= a
print((ans % m))

N = int(eval(input()))
mod = pow(10, 9) + 7
A = [1] * (N + 1)
for i in range(1, N + 1):
    n = i
    for j in range(2, i + 1):
        if j > n:
            break
        while n % j == 0:
            A[j] += 1
            n //= j
cnt = 1
for i in range(N + 1):
    cnt *= A[i]
print((cnt % mod))

-m = pow(10, 9) + 7 +mod = pow(10, 9) + 7 -for n in range(2, N + 1): -    k = n -    for i in range(2, n + 1): -        if k % i == 0: -            while k > 1: -                k //= i -                A[i] += 1 -                if k % i != 0: -                    break -ans = 1 -for a in A: -    ans *= a -print((ans % m)) +for i in range(1, N + 1): +    n = i +    for j in range(2, i + 1): +        if j > n: +            break +        while n % j == 0: +            A[j] += 1 +            n //= j +cnt = 1 +for i in range(N + 1): +    cnt *= A[i] +print((cnt % mod))