import java.io.*;
import java.math.*;
import java.text.*;
import java.util.*;
import java.util.regex.*;

public class Main{
	static int gcd(int a, int b) 
    { 
        if (a == 0) 
            return b; 
        return gcd(b % a, a); 
    } 
	
	static int findGCD(int a,int b,int c) 
    { 
        int result = a; 
        result = gcd(b,result);
        result = gcd(c,result);
        return result; 
    } 
	
    public static void main(String[] args) throws IOException {
        	Scanner sc = new Scanner(System.in);
        	int k = sc.nextInt();
        	int sum = 0;
        	for(int i=1;i<=k;i++) {
        		for(int j=1;j<=k;j++) {
        			for(int a=1;a<=k;a++) {
                		sum+=findGCD(i,j,a);
                	}
            	}
        	}
        	System.out.println(sum);
    }
}

/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz