require 'pp'
require 'prime'

class Fractional
    attr_reader :memo

    def initialize
        @memo = {}
    end

    def calc(n)
        return @memo[n] if @memo[n]
 
        if n <= 1
            @memo[n] = 1
        else
            @memo[n] = (n * calc(n - 1))
        end
    end
end

def comb(n, r)
    return n if r == 0
    p = n.downto(n - r + 1).inject {|sum, x| sum *= x }
    r = 1.upto(r).inject {|sum, x| sum *= x }
    p / (r == 0 ? 1 : r)
end

n = gets.chomp!.to_i

frac = Fractional.new
x = frac.calc(n)

memo = {}
y = Prime.instance.prime_division(x).map {|e, n| [e, n] }

count = 0

# 3つにわける
z3 = y.group_by{|x, y| 
    if y >= 4
        1
    elsif y >= 2
        0
    else
        -1
    end
}.map {|x, y|
    [x, y.count]
}.to_h

if !((z3[1] || 0) >= 2 && (z3[0] || 0) >= 1)
    count += 0
else
    a = comb(z3[1], 2)
    b = comb(z3[0] + z3[1] - 2, 1)
    count += a * b
end

#puts count

# 2つにわける
z2_1 = y.group_by{|x, y|
    if y >= 24
        1
    elsif y >= 2
        0
    else
        -1
    end
}.map {|x,y| [x, y.count] }.to_h

if !((z2_1[1] || 0) >= 1 && (z2_1[0] || 0) >= 1)
    count += 0
else
    a = comb(z2_1[1], 1)
    b = comb(z2_1[0] + z2_1[1] - 1, 1)
    count += a * b
end

#puts count

# 2つにわける
z2_2 = y.group_by{|x, y|
    if y >= 14
        1
    elsif y >= 4
        0
    else
        -1
    end
}.map {|x,y| [x, y.count] }.to_h

if !((z2_2[1] || 0) >= 1 && (z2_2[0] || 0) >= 1)
    count += 0
else
    a = comb(z2_2[1], 1)
    b = comb(z2_2[0] + z2_2[1] - 1, 1)
    count += a * b
end

#puts count

# 1つにわける
z2_2 = y.group_by{|x, y|
    if y >= 74
        1
    else
        0
    end
}.map {|x,y| [x, y.count] }.to_h

if !((z2_2[1] || 0) >= 1)
    count += 0
else
    a = comb(z2_2[1], 1)
    count += a
end

puts count
