#include <iostream>

using namespace std;

int g[201][201][201];

int gcd3(int a, int b, int c){
    if(g[a][b][c] > 0){
        return g[a][b][c];
    }

    if(a%b == 0){
        if(b%c == 0){
            g[a][b][c] == c;
            return c;
        }else{
            return gcd3(a, c, b%c);
        }
    }else{
        return gcd3(b, a%b, c);
    }

}

int main(){
    int K;
    cin >> K;
        
    for(int i=0; i<=K; i++){
        for(int j=0; j<=K; j++){
            for(int k=0; k<=K; k++){
                g[i][j][k] = -1;
            }
        }
    }
    long 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 += gcd3(i, j, k);
            }
        }
    }

    cout << ans << endl;
    return 0;
}