Problem:
Score : 300 points

Problem Statement

Find \displaystyle{\sum_{a=1}^{K}\sum_{b=1}^{K}\sum_{c=1}^{K} \gcd(a,b,c)}.

Here \gcd(a,b,c) denotes the greatest common divisor of a, b, and c.

Constraints

1 \leq K \leq 200

K is an integer.

Input

Input is given from Standard Input in the following format:

K

Output

Print the value of \displaystyle{\sum_{a=1}^{K}\sum_{b=1}^{K}\sum_{c=1}^{K} \gcd(a,b,c)}.

Sample Input 1

2

Sample Output 1

9

\gcd(1,1,1)+\gcd(1,1,2)+\gcd(1,2,1)+\gcd(1,2,2)
+\gcd(2,1,1)+\gcd(2,1,2)+\gcd(2,2,1)+\gcd(2,2,2)
=1+1+1+1+1+1+1+2=9

Thus, the answer is 9.

Sample Input 2

200

Sample Output 2

10813692

Solution in C (GCC 9.2.1) (judge verdict: Accepted)

#include <stdio.h>
#include <math.h>
int main(){
	int k, ans=0, r1, r2, l, m, n, a=1, b=1, c=1;
	scanf("%d", &k);

	while(a <= k){
		while(b <= k){
			while(c <= k){
				if(a==c){
					ans += a;
				}
				else{
					l = a, m = b, n = c;//aとcの最大公約数r1
					r1 = n % l;
					while(r1!=0){
						n = l;
						l = r1;
						r1 = n % l;
					}
					if(a==b || b==c){
						ans = ans + l*3;
					}
					else{
						r2 = m % l;
						while(r2!=0){//r1とbの最大公約数r2
							m = l;
							l = r2;
							r2 = m % l;
						}
						ans = ans + l*6;
					}
				}

				//printf("(%d,%d,%d), l = %d, ans = %d\n", a, b, c, l, ans);
				c++;
			}
			b++;
			c = b;
		}
		a++;
		b = a;
		c = a;
	}
	printf("%d", ans);
	return 0;
}