from math import factorial



n = int(eval(input()))

f = factorial(n)



mod = 10 ** 9 + 7



def primes(n):

    is_prime = [True] * (n + 1)

    is_prime[0] = False

    is_prime[1] = False

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

        if not is_prime[i]:

            continue

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

            is_prime[j] = False

    return [i for i in range(n + 1) if is_prime[i]]



ans = 1

for p in primes(n):

    temp = 1

    while f % p == 0:

        temp += 1

        f //= p

    ans = (ans * temp) % mod

print(ans)

n=int(eval(input()))

m=10**9+7

p=[1 for i in range(10000)]

p[0]=0

p[1]=0

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

  if p[i]==1:

    for j in range(i*i,n+1,i):

        p[j]=0

ans=1

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

  if p[i]:

    c=0

    k=i

    while n//k>0:

      c=c+(n//k)%m

      k=k*i

    ans=(ans*((c+1)%m))%m

print((ans%m))

    

    

      

      

from math import factorial

n = int(eval(input()))
f = factorial(n)
mod = 10**9 + 7


def primes(n):
    is_prime = [True] * (n + 1)
    is_prime[0] = False
    is_prime[1] = False
    for i in range(2, int(n**0.5) + 1):
        if not is_prime[i]:
            continue
        for j in range(i * 2, n + 1, i):
            is_prime[j] = False
    return [i for i in range(n + 1) if is_prime[i]]


ans = 1
for p in primes(n):
    temp = 1
    while f % p == 0:
        temp += 1
        f //= p
    ans = (ans * temp) % mod
print(ans)

n = int(eval(input()))
m = 10**9 + 7
p = [1 for i in range(10000)]
p[0] = 0
p[1] = 0
for i in range(2, n + 1):
    if p[i] == 1:
        for j in range(i * i, n + 1, i):
            p[j] = 0
ans = 1
for i in range(2, n + 1):
    if p[i]:
        c = 0
        k = i
        while n // k > 0:
            c = c + (n // k) % m
            k = k * i
        ans = (ans * ((c + 1) % m)) % m
print((ans % m))

-from math import factorial - -f = factorial(n) -mod = 10**9 + 7 - - -def primes(n): -    is_prime = [True] * (n + 1) -    is_prime[0] = False -    is_prime[1] = False -    for i in range(2, int(n**0.5) + 1): -        if not is_prime[i]: -            continue -        for j in range(i * 2, n + 1, i): -            is_prime[j] = False -    return [i for i in range(n + 1) if is_prime[i]] - - +m = 10**9 + 7 +p = [1 for i in range(10000)] +p[0] = 0 +p[1] = 0 +for i in range(2, n + 1): +    if p[i] == 1: +        for j in range(i * i, n + 1, i): +            p[j] = 0 -for p in primes(n): -    temp = 1 -    while f % p == 0: -        temp += 1 -        f //= p -    ans = (ans * temp) % mod -print(ans) +for i in range(2, n + 1): +    if p[i]: +        c = 0 +        k = i +        while n // k > 0: +            c = c + (n // k) % m +            k = k * i +        ans = (ans * ((c + 1) % m)) % m +print((ans % m))