#include <stdio.h>

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

int gcd_arr(int a[], int n){
    if(n==2){
        return gcd(a[0], a[1]); 
    }else{
        a[n-2] = gcd(a[n-2], a[n-1]);
        /* 後ろの2つをgcd処理 */

        return gcd_arr(a, n-1);
        /* 再帰する */
    }
}

int main(){
    int K;scanf("%d", &K);
    int a, b, c;
    long long sum=0;
    int n[3];
    for(a=1;a<=K;a++)for(b=1;b<=K;b++)for(c=1;c<=K;c++){
        n[0]=a;n[1]=b;n[2]=c;
        sum += gcd_arr(n, 3);
    }
    printf("%lld\n", sum);
    return 0;
}