n = int(eval(input()))

e = [0] * (n+1)



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

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

        while i % j == 0:

            e[j] += 1

            i //= j

            

def count(m):

    return len(list([x for x in e if x >= m-1]))



a = count(75)

b = count(25) * (count(3) - 1)

c = count(15) * (count(5) - 1)

d = count(5) * (count(5) - 1) * (count(3) - 2) // 2



print((a + b + c + d))
n = int(eval(input()))



def nprf(m):

    pf = {}

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

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

            while i % j == 0:

                pf[j] = pf.get(j, 0) + 1

                i //= j

    return pf



def c(P, m):

    count = 0

    for i in P:

        if P[i] >= m - 1:

            count += 1

    return count   

    

P = nprf(n)



f75 = c(P, 75)

f253 = c(P, 25) * (c(P, 3) - 1)

f155 = c(P, 15) * (c(P, 5) - 1)

f553 = int(c(P, 5) * (c(P, 5) - 1) * (c(P, 3) - 2) * 0.5)



print((f75 + f253 + f155 + f553))
n = int(eval(input()))
e = [0] * (n + 1)
for i in range(2, n + 1):
    for j in range(2, i + 1):
        while i % j == 0:
            e[j] += 1
            i //= j


def count(m):
    return len(list([x for x in e if x >= m - 1]))


a = count(75)
b = count(25) * (count(3) - 1)
c = count(15) * (count(5) - 1)
d = count(5) * (count(5) - 1) * (count(3) - 2) // 2
print((a + b + c + d))

n = int(eval(input()))


def nprf(m):
    pf = {}
    for i in range(2, m + 1):
        for j in range(2, i + 1):
            while i % j == 0:
                pf[j] = pf.get(j, 0) + 1
                i //= j
    return pf


def c(P, m):
    count = 0
    for i in P:
        if P[i] >= m - 1:
            count += 1
    return count


P = nprf(n)
f75 = c(P, 75)
f253 = c(P, 25) * (c(P, 3) - 1)
f155 = c(P, 15) * (c(P, 5) - 1)
f553 = int(c(P, 5) * (c(P, 5) - 1) * (c(P, 3) - 2) * 0.5)
print((f75 + f253 + f155 + f553))

-e = [0] * (n + 1) -for i in range(2, n + 1): -    for j in range(2, i + 1): -        while i % j == 0: -            e[j] += 1 -            i //= j -def count(m): -    return len(list([x for x in e if x >= m - 1])) +def nprf(m): +    pf = {} +    for i in range(2, m + 1): +        for j in range(2, i + 1): +            while i % j == 0: +                pf[j] = pf.get(j, 0) + 1 +                i //= j +    return pf -a = count(75) -b = count(25) * (count(3) - 1) -c = count(15) * (count(5) - 1) -d = count(5) * (count(5) - 1) * (count(3) - 2) // 2 -print((a + b + c + d)) +def c(P, m): +    count = 0 +    for i in P: +        if P[i] >= m - 1: +            count += 1 +    return count + + +P = nprf(n) +f75 = c(P, 75) +f253 = c(P, 25) * (c(P, 3) - 1) +f155 = c(P, 15) * (c(P, 5) - 1) +f553 = int(c(P, 5) * (c(P, 5) - 1) * (c(P, 3) - 2) * 0.5) +print((f75 + f253 + f155 + f553))