#include<stdio.h>
#include<stdlib.h>
#include <string.h>

int gcd3(int a, int b, int c){

    int tmp, r;

     /* 自然数 a > b を確認・入替 */
  if(a<b){
    tmp = a;
    a = b;
    b = tmp;
  }
 
  /* ユークリッドの互除法 */
  r = a % b;
  while(r!=0){
    a = b;
    b = r;
    r = a % b;
  }

//2
  if(b<c){
    tmp = b;
    b = c;
    c = tmp;
  }
 
  /* ユークリッドの互除法 */
  r = b % c;
  while(r!=0){
    b = c;
    c = r;
    r = b % c;
  }

  return c;

}

int gcd2(int a, int b){

    int tmp, r;
     /* 自然数 a > b を確認・入替 */
  if(a<b){
    tmp = a;
    a = b;
    b = tmp;
  }
 
  /* ユークリッドの互除法 */
  r = a % b;
  while(r!=0){
    a = b;
    b = r;
    r = a % b;
  }

  return b;

}

int main(void){
  int K;

int count=0;

scanf("%d", &K);

int ttp = K;

while(ttp!=0){
   count += ttp;
   ttp -=1;
}

int i, j, m;

for(i=1; i<K; i++){
    for(j=i+1; j<=K; j++){
        if(i != j){
 count += 6*gcd2(i, j);
        }
        for(m=j+1; m<=K; m++){
            if(i!=j && j!=m && m!=i){
                count += 6*gcd3(i, j, m);
            }
        }
    }
}

  printf("%d\n", count);
  return 0;
}

