a = [True] * 1001

a[0] = False

a[1] = False

b = []

c = {}

for i in range(2, 1001):

    if a[i]:

        b.append(i)

        for j in range(2, 1001, 2):

            a[j] = False

d = int(eval(input()))

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

    temp_j = j

    for i in b:

        while True:

            if temp_j % i != 0:

                break

            else:

                if i not in c:

                    c[i] = 1

                else:

                    c[i] += 1

                temp_j //= i

e = 1

for k in list(c.keys()):

    e = (e * (c[k] + 1)) % (10 ** 9 + 7)

print(e)

z = int(eval(input()))

a = [True] * 1001

a[0] = False

a[1] = False

b = []

for i in range(2, 1001):

    if a[i]:

        b.append(i)

        for j in range(i, 1001, i):

            a[j] = False

c = {}

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

    d = i

    while True:

        if d == 1:

            break

        else:

            while d != 1:

                for j in b:

                    if d % j == 0:

                        d //= j

                        if j not in c:

                            c[j] = 1

                        else:

                            c[j] += 1

e = 1

for v in list(c.values()):

    e = (e * (v + 1)) % (10 ** 9 + 7)

print(e)

a = [True] * 1001
a[0] = False
a[1] = False
b = []
c = {}
for i in range(2, 1001):
    if a[i]:
        b.append(i)
        for j in range(2, 1001, 2):
            a[j] = False
d = int(eval(input()))
for j in range(2, d + 1):
    temp_j = j
    for i in b:
        while True:
            if temp_j % i != 0:
                break
            else:
                if i not in c:
                    c[i] = 1
                else:
                    c[i] += 1
                temp_j //= i
e = 1
for k in list(c.keys()):
    e = (e * (c[k] + 1)) % (10**9 + 7)
print(e)

z = int(eval(input()))
a = [True] * 1001
a[0] = False
a[1] = False
b = []
for i in range(2, 1001):
    if a[i]:
        b.append(i)
        for j in range(i, 1001, i):
            a[j] = False
c = {}
for i in range(1, z + 1):
    d = i
    while True:
        if d == 1:
            break
        else:
            while d != 1:
                for j in b:
                    if d % j == 0:
                        d //= j
                        if j not in c:
                            c[j] = 1
                        else:
                            c[j] += 1
e = 1
for v in list(c.values()):
    e = (e * (v + 1)) % (10**9 + 7)
print(e)

+z = int(eval(input())) -c = {} -        for j in range(2, 1001, 2): +        for j in range(i, 1001, i): -d = int(eval(input())) -for j in range(2, d + 1): -    temp_j = j -    for i in b: -        while True: -            if temp_j % i != 0: -                break -            else: -                if i not in c: -                    c[i] = 1 -                else: -                    c[i] += 1 -                temp_j //= i +c = {} +for i in range(1, z + 1): +    d = i +    while True: +        if d == 1: +            break +        else: +            while d != 1: +                for j in b: +                    if d % j == 0: +                        d //= j +                        if j not in c: +                            c[j] = 1 +                        else: +                            c[j] += 1 -for k in list(c.keys()): -    e = (e * (c[k] + 1)) % (10**9 + 7) +for v in list(c.values()): +    e = (e * (v + 1)) % (10**9 + 7)