# util functions

# debug
$debugFlag = ( ARGV[0] != nil )
p "==== DEBUG MODE ====" if $debugFlag

# input
inputs = []
lc = 0
while l = $stdin.gets do
  if false
    inputs << l.chomp.split(" ").map(&:to_s)
  else
    inputs << l.chomp.split(" ").map(&:to_i)
  end
  lc += 1
end

# input check
if $debugFlag
  p "--- INPUT (begin) ---"
  inputs.each do |l_i|
    p l_i
  end
  p "--- INPUT (end) ---"
  print "\n"
end

# body
$num = inputs[0][0]
$prime_table = [2, 3, 5, 7, 11,	13, 17,	19, 23,	29, 31, 37, 41,	43, 47,	53, 59,	61, 67,	71, 73,	79, 83, 89, 97]
$candidates = [[75], [3, 25], [5, 15], [3, 5, 5]]

if $debugFlag
  p $num
  p $prime_table
end

factorize = []
$prime_table.each do |p_i|
  break if p_i > $num
  tmp = p_i
  tmp_cnt = 0
  while tmp <= $num
    tmp_cnt += ($num / tmp)
    tmp *= p_i
  end
  factorize << tmp_cnt
end

p factorize if $debugFlag

def dfs( res_src_list, res_tgt_list )
  return 1 if res_tgt_list == []
  sum = 0
  c_res_tgt_list = res_tgt_list.clone
  tgt = c_res_tgt_list.shift
  res_src_list.size.times do |i|
    if res_src_list[i] >= tgt - 1
      c_res_src_list = res_src_list.clone
      c_res_src_list.delete_at(i)
      if $debugFlag
        print "res_src_val: "
        p res_src_list[i]
        print "tgt: "
        p tgt
        p c_res_tgt_list
      end
      sum += dfs( c_res_src_list, c_res_tgt_list )
    end
  end
  return sum
end

res = 0
$candidates.each do |c_i|
  if $debugFlag
    print "c_i:"
    p c_i
  end
  addVal = dfs( factorize, c_i )
  addVal /= 2 if c_i == [3, 5, 5]
  res += addVal
end

puts res
