import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = Integer.parseInt(sc.next());
		int total = 0;
		for (int i = 1; i <= num; i++) {
			for (int j = 1; j <= num; j++) {
				for (int k = 1; k <= num; k++) {
					total += calc3GCD(i, j, k);
				}
			}
		}
		System.out.println(total);
	}

	public static int calc3GCD(int a, int b, int c) {
		int tempGCD = calcGCD(a, b);

		return calcGCD(tempGCD, c);
	}

	public static int calcGCD(int a, int b) {
		int[] numArray = { a, b };
		Arrays.sort(numArray);
		int x;
		int y;
		x = numArray[1];
		y = numArray[0];

		int tmp;
		while ((tmp = x % y) != 0) {
			x = y;
			y = tmp;
		}
		return y;
	}
}

/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