#include<stdio.h>
#include<stdlib.h>
#define BUFSIZE 10000
int K;
int rem1,rem2=0;

int swap(int x,int y){
	if(x>y){
		rem1=x;
		x=y;
		y=rem1;
	}
}

int gcd(int a,int b){
	swap(a,b);
	/*
	printf("%d %d",a,b);
	*/
	if(b%a==0){
		return a;	 
	}
	gcd(b%a,a);
}
int main(void){
    scanf("%d",&K);
	
	for(int i=1;i<=K;i++){
		for(int j=1;j<=K;j++){
			for(int n=1;n<=K;n++){
				
				rem2=rem2+gcd(gcd(i,j),n);
				
			}
		}
	}
	
	printf("%d",rem2);


}