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 C (GCC 5.4.1) (judge verdict: Accepted)

#include <stdio.h>
#include <stdlib.h>

int N;
int divis[101] = { 0 };

int CntPrime(int primenum);

int main() 
{
	int num;
	int numerator;	/*割られる数*/
	int denominator;	/*割る数*/
	int ans;
	scanf("%d", &N);
	for (numerator = 2;numerator <= N;numerator++)
	{
		num = numerator;
		for (denominator = 2; denominator <= N; denominator++)
		{
			/*やりたいのは素因数分解だが、小さい順にやっているので無駄だけど問題はないはず*/
			/*jは素数だけにしたかったが、100までの素数を羅列する不毛なことになるのは面倒*/
			/*100までなのに素数か判別するほうが面倒*/
			/*ただ、2を見た後に4を見たりしているので、重複あるしもっと簡単にできるはず……*/
			while (num%denominator ==0)
			{
				divis[denominator]++;
				num = num / denominator;
			}
		}
	}
	/*素因数分解で約数の数を数えるやつ 証明は略*/
	ans = CntPrime(75) + CntPrime(25)*(CntPrime(3) - 1) + CntPrime(15)*(CntPrime(5) - 1) + (CntPrime(5)*(CntPrime(5)-1)/2)*(CntPrime(3)-2);
	printf("%d", ans);

	return 0;
}

int CntPrime(int numofprime)
{
	int denominator;
	int kindprime=0;

	for (denominator = 2; denominator <=  N; denominator++)
	{
		if (divis[denominator]>= (numofprime-1))
		{
			kindprime++;
			/*指定された数-1以上持っている約数の種類*/
		}
	}
	return kindprime;
}