#n<=10**3



n = int(eval(input()))



fct = [1]*(n+1)

fct[1] = 0

fct[0] = 0

mod = 10**9+7

#print(mod)

sq = int(n**(1/2))+5###1//2はゼロだwww

#print(sq)

for i in range(2,sq):

    for j in range(2,(n//i)+10):

        if i*j<=n:

            fct[i*j] = 0

            #if i==7 or j ==11:

            #    print("test",i,j)



#print(fct)

prm = []



for i in range(n+1):

    if fct[i]:

        prm.append(i)

#print("prm",prm)

ind = []



for p in prm:

    tmp = 0

    tmp2 = n

    while tmp2:

        tmp2//=p 

        tmp += tmp2 

    ind.append(tmp)

ans = 1

for i in ind:

    ans *= (i+1)

    ans %= mod



#print("ind",ind)

print(ans)
n = int(eval(input()))

fct = [1]*(n+7)

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

    if fct[i]:

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

            fct[j]=0

fct2 = {i:1 for i in range(2,n+1) if fct[i]}

fct3 = [i for i in range(2,n+1) if fct[i]]

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

    for j in fct3:

        i2 = i

        while i2%j==0:

            fct2[j]+=1

            i2//=j

mod = 10**9+7

ans = 1 

for i in fct2:

    ans*=fct2[i]

    ans%=mod

            

print(ans)



# n<=10**3
n = int(eval(input()))
fct = [1] * (n + 1)
fct[1] = 0
fct[0] = 0
mod = 10**9 + 7
# print(mod)
sq = int(n ** (1 / 2)) + 5  ###1//2はゼロだwww
# print(sq)
for i in range(2, sq):
    for j in range(2, (n // i) + 10):
        if i * j <= n:
            fct[i * j] = 0
            # if i==7 or j ==11:
            #    print("test",i,j)
# print(fct)
prm = []
for i in range(n + 1):
    if fct[i]:
        prm.append(i)
# print("prm",prm)
ind = []
for p in prm:
    tmp = 0
    tmp2 = n
    while tmp2:
        tmp2 //= p
        tmp += tmp2
    ind.append(tmp)
ans = 1
for i in ind:
    ans *= i + 1
    ans %= mod
# print("ind",ind)
print(ans)

n = int(eval(input()))
fct = [1] * (n + 7)
for i in range(2, int(n ** (1 / 2)) + 7):
    if fct[i]:
        for j in range(2 * i, n + 1, i):
            fct[j] = 0
fct2 = {i: 1 for i in range(2, n + 1) if fct[i]}
fct3 = [i for i in range(2, n + 1) if fct[i]]
for i in range(2, n + 1):
    for j in fct3:
        i2 = i
        while i2 % j == 0:
            fct2[j] += 1
            i2 //= j
mod = 10**9 + 7
ans = 1
for i in fct2:
    ans *= fct2[i]
    ans %= mod
print(ans)

-# n<=10**3 -fct = [1] * (n + 1) -fct[1] = 0 -fct[0] = 0 +fct = [1] * (n + 7) +for i in range(2, int(n ** (1 / 2)) + 7): +    if fct[i]: +        for j in range(2 * i, n + 1, i): +            fct[j] = 0 +fct2 = {i: 1 for i in range(2, n + 1) if fct[i]} +fct3 = [i for i in range(2, n + 1) if fct[i]] +for i in range(2, n + 1): +    for j in fct3: +        i2 = i +        while i2 % j == 0: +            fct2[j] += 1 +            i2 //= j -# print(mod) -sq = int(n ** (1 / 2)) + 5  ###1//2はゼロだwww -# print(sq) -for i in range(2, sq): -    for j in range(2, (n // i) + 10): -        if i * j <= n: -            fct[i * j] = 0 -            # if i==7 or j ==11: -            #    print("test",i,j) -# print(fct) -prm = [] -for i in range(n + 1): -    if fct[i]: -        prm.append(i) -# print("prm",prm) -ind = [] -for p in prm: -    tmp = 0 -    tmp2 = n -    while tmp2: -        tmp2 //= p -        tmp += tmp2 -    ind.append(tmp) -for i in ind: -    ans *= i + 1 +for i in fct2: +    ans *= fct2[i] -# print("ind",ind)