#include<iostream>
using namespace std;

int gcd(int a, int b){
    int v0 = a, v1 = b, v2 = v0 % v1;
    while(v2 > 0){
        v0 = v1;
        v1 = v2;
        v2 = v0 % v1;
    }
    return v1;
}

int main() {
    int K;
    cin>>K;
    int DP[K+1][K+1];
    for(int i=1;i<=K;++i){
        for(int j=1;j<=K;++j){
            DP[i][j] = gcd(i, j);
        }
    }
    long ans = 0;
    for(int i=1;i<=K;++i){
        for(int j=1;j<=K;++j){
            for(int k=1;k<=K;++k){
                ans += DP[DP[i][j]][DP[k][i]];
            }
        }
    }
    cout<<ans<<endl;
}
