import java.util.Scanner;

public class Main {

  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int k = sc.nextInt();
    int answer = 0;
    for (int a = 1; a <= k; a++) {
      for (int b = a; b <= k; b++) {
        for (int c = b; c <= k; c++) {
          int gcd = gcd(a, gcd(b, c));
          if (a == b && b == c) {
            answer += gcd;
          } else if (a == b || a == c || b == c) {
            answer += 3 * gcd;
          } else {
            answer += 6 * gcd;
          }
        }
      }
    }
    System.out.println(answer);
  }

  static int gcd(int a, int b) {
    if (b == 0) {
      return a;
    }
    return gcd(b, a % b);
  }
}

/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