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>

int main()
{
    int n,m,i,num,ans=0;
	int sosu[25]={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};
	int sosunum[25]={0};//n!までに2,3,5,...が何個あるか
	int over[5]={0};//over2,4,14,24,74
	scanf("%d",&n);
	for(i=0;i<25;i++)
	{
		num=n;
		while(num!=0)
		{
			num/=sosu[i];
			sosunum[i]+=num;
		}
		if(sosunum[i]>=2)over[0]++;
		if(sosunum[i]>=4)over[1]++;
		if(sosunum[i]>=14)over[2]++;
		if(sosunum[i]>=24)over[3]++;
		if(sosunum[i]>=74)over[4]++;
	}
	//printf("%d,%d,%d,%d,%d\n",over[0],over[1],over[2],over[3],over[4]);
	
	ans+=over[4];//75
	ans+=(over[0]*over[3]-over[3]);//3*25
	ans+=(over[1]*over[2]-over[2]);//5*15
	ans+=((over[0]-over[1])*(over[1]*(over[1]-1)/2));
	ans+=((over[1])*((over[1]-1)*(over[1]-2)/2));//3*5*5
	
	
	printf("%d\n",ans);
}