Problem:
Score : 400 points

Problem Statement

You are given an integer N. Among the divisors of N! (= 1 \times 2 \times ... \times N), how many Shichi-Go numbers (literally "Seven-Five numbers") are there?

Here, a Shichi-Go number is a positive integer that has exactly 75 divisors.

Note

When a positive integer A divides a positive integer B, A is said to a divisor of B.
For example, 6 has four divisors: 1, 2, 3 and 6.

Constraints

1 \leq N \leq 100

N is an integer.

Input

Input is given from Standard Input in the following format:

N

Output

Print the number of the Shichi-Go numbers that are divisors of N!.

Sample Input 1

9

Sample Output 1

0

There are no Shichi-Go numbers among the divisors of 9! = 1 \times 2 \times ... \times 9 = 362880.

Sample Input 2

10

Sample Output 2

1

There is one Shichi-Go number among the divisors of 10! = 3628800: 32400.

Sample Input 3

100

Sample Output 3

543

Solution in Go (1.6) (judge verdict: Wrong Answer)

package main

import (
	"fmt"
)

type divisor struct{ list [100]int }

func (d *divisor) add(num int) {
	i := 2
	for i < 11 {
		if num%i == 0 {
			d.list[i]++
			num /= i
		} else {
			i++
		}
	}
	if num > 1 {
		d.list[num]++
	}
}

func (d *divisor) count() [6]int {
	var res [6]int
	th := [6]int{1, 2, 4, 14, 24, 74}
	for i := 1; i < 100; i++ {
		for j := 0; j < 6; j++ {
			if d.list[i] >= th[j] {
				res[j]++
			}
		}
	}
	return res
}

func main() {
	var num int
	ans := 0
	fmt.Scan(&num)
	divisors := divisor{[100]int{}}
	for n := num; 0 < n; n-- {
		divisors.add(n)
	}
	res := divisors.count()
	ans += res[5]
	ans += res[4] * (res[0] - 1)
	ans += res[3] * (res[2] - 1)
	ans += res[2] * (res[2] - 1) * (res[1] - 2) / 2
	fmt.Println(ans)
}