import java.util.*;
public class Main {
    public static void main(String[] args){
      // 入力
      Scanner sc = new Scanner(System.in);
      int K = sc.nextInt();
      
      // 最大公約数の和を算出
      int sum = 0;
      for(int i = 1; i <= K; i++){
        for(int j = i; j <= K; j++){
          for(int k = j; k <= K; k++){
            if(i == j && j == k){
              // 3数が等しい場合、GCD * 1を加算
              sum = sum + extgcd(i,j,k);
            }else if(i == j || j == k){
              // 2数が等しい場合、GCD * 3を加算
              sum = sum + extgcd(i,j,k) * 3;
            }else{
              // 3数が異なる場合、GCD * 6を加算
              sum = sum + extgcd(i,j,k) * 6;
            }
          }
        }
      }
      
      // 出力
      System.out.println(sum);
    }
    
    // 2数の最大公約数を求める関数
    public static int gcd(int a, int b){
      if(b == 0){
        return a;
      }
      
      return gcd(b, a % b);
    }
    
    // 3数の最大公約数を求める関数
    public static int extgcd(int a, int b, int c){
      return gcd(gcd(a, b), c);
    }
}
/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