import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int ans = 0;
		int tmpRest = 0;
		int tmpMax = 0;
		int num1;
		int num2;

		for (int c = 1; c <= X; c++) {
			for (int d = 1; d <= X; d++) {
				for (int e = 1; e <= X; e++) {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				}
			}
		}
		System.out.println(ans);
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int ans = 0;
		int tmpRest = 0;
		int tmpMax = 0;
		int num1;
		int num2;

		for (int c = 1; c <= X; c++) {
			for (int d = 1; d <= X; d++) {
				for (int e = 1; e <= X; e++) {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				}
			}
		}
		System.out.println(ans);
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int ans = 0;
		int tmpRest = 0;
		int tmpMax = 0;
		int num1;
		int num2;

		for (int c = 1; c <= X; c++) {
			for (int d = 1; d <= X; d++) {
				for (int e = 1; e <= X; e++) {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				}
			}
		}
		System.out.println(ans);
	} main {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int ans = 0;
		int tmpRest = 0;
		int tmpMax = 0;
		int num1;
		int num2;

		for (int c = 1; c <= X; c++) {
			for (int d = 1; d <= X; d++) {
				for (int e = 1; e <= X; e++) {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				}
			}
		}
		System.out.println(ans);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int X = sc.nextInt(); X sc.nextInt() sc.nextInt sc int ans = 0; ans 0 int tmpRest = 0; tmpRest 0 int tmpMax = 0; tmpMax 0 int num1; num1 int num2; num2 for (int c = 1; c <= X; c++) {
			for (int d = 1; d <= X; d++) {
				for (int e = 1; e <= X; e++) {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				}
			}
		} int c = 1; int c = 1; c 1 c <= X c X c++ c++ c {
			for (int d = 1; d <= X; d++) {
				for (int e = 1; e <= X; e++) {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				}
			}
		} {
			for (int d = 1; d <= X; d++) {
				for (int e = 1; e <= X; e++) {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				}
			}
		} for (int d = 1; d <= X; d++) {
				for (int e = 1; e <= X; e++) {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				}
			} int d = 1; int d = 1; d 1 d <= X d X d++ d++ d {
				for (int e = 1; e <= X; e++) {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				}
			} {
				for (int e = 1; e <= X; e++) {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				}
			} for (int e = 1; e <= X; e++) {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				} int e = 1; int e = 1; e 1 e <= X e X e++ e++ e {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				} {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				} if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					} c >= d c d {
						num1 = c;
						num2 = d;
					} num1 = c num1 c num2 = d num2 d {
						num1 = d;
						num2 = c;
					} num1 = d num1 d num2 = c num2 c while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					} (tmpRest = num1 % num2) != 0 (tmpRest = num1 % num2) tmpRest num1 % num2 num1 num2 0 {
						num1 = num2;
						num2 = tmpRest;
					} num1 = num2 num1 num2 num2 = tmpRest num2 tmpRest tmpMax = num2 tmpMax num2 if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					} tmpMax >= e tmpMax e {
						num1 = tmpMax;
						num2 = e;
					} num1 = tmpMax num1 tmpMax num2 = e num2 e {
						num1 = e;
						num2 = tmpMax;
					} num1 = e num1 e num2 = tmpMax num2 tmpMax while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					} (tmpRest = num1 % num2) != 0 (tmpRest = num1 % num2) tmpRest num1 % num2 num1 num2 0 {
						num1 = num2;
						num2 = tmpRest;
					} num1 = num2 num1 num2 num2 = tmpRest num2 tmpRest ans = ans + num2 ans ans + num2 ans num2 System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int ans = 0;
		int tmpRest = 0;
		int tmpMax = 0;
		int num1;
		int num2;

		for (int c = 1; c <= X; c++) {
			for (int d = 1; d <= X; d++) {
				for (int e = 1; e <= X; e++) {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				}
			}
		}
		System.out.println(ans);
	}
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int ans = 0;
		int tmpRest = 0;
		int tmpMax = 0;
		int num1;
		int num2;

		for (int c = 1; c <= X; c++) {
			for (int d = 1; d <= X; d++) {
				for (int e = 1; e <= X; e++) {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				}
			}
		}
		System.out.println(ans);
	}
} Main
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int ans = 0;
		int tmpRest = 0;
		int tmpMax = 0;
		int num1;
		int num2;

		for (int c = 1; c <= X; c++) {
			for (int d = 1; d <= X; d++) {
				for (int e = 1; e <= X; e++) {
					if (c >= d) {
						num1 = c;
						num2 = d;
					} else {
						num1 = d;
						num2 = c;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					tmpMax = num2;

					if (tmpMax >= e) {
						num1 = tmpMax;
						num2 = e;
					} else {
						num1 = e;
						num2 = tmpMax;
					}
					while ((tmpRest = num1 % num2) != 0) {
						num1 = num2;
						num2 = tmpRest;
					}
					ans = ans + num2;

				}
			}
		}
		System.out.println(ans);
	}
}
