Problem:
Score : 300 points

Problem Statement

Find \displaystyle{\sum_{a=1}^{K}\sum_{b=1}^{K}\sum_{c=1}^{K} \gcd(a,b,c)}.

Here \gcd(a,b,c) denotes the greatest common divisor of a, b, and c.

Constraints

1 \leq K \leq 200

K is an integer.

Input

Input is given from Standard Input in the following format:

K

Output

Print the value of \displaystyle{\sum_{a=1}^{K}\sum_{b=1}^{K}\sum_{c=1}^{K} \gcd(a,b,c)}.

Sample Input 1

2

Sample Output 1

9

\gcd(1,1,1)+\gcd(1,1,2)+\gcd(1,2,1)+\gcd(1,2,2)
+\gcd(2,1,1)+\gcd(2,1,2)+\gcd(2,2,1)+\gcd(2,2,2)
=1+1+1+1+1+1+1+2=9

Thus, the answer is 9.

Sample Input 2

200

Sample Output 2

10813692

Solution in Kotlin (1.3.71) (judge verdict: Accepted)

fun main(args: Array<String>) {
    val k = readLine()!!.toInt()

    val memo = hashMapOf<Pair<Int, Int>, Int>()
    fun gcd(a: Int , b: Int): Int{
        val p = Pair(a,b)
        if (!memo.containsKey(p)){
            if (a == b){
                memo[p] = a
            } else if (a > b){
                memo[p] = gcd(b, a - b)
            } else {
                memo[p] = gcd(a, b - a)
            }
        }
        return memo[p]!!
    }

    var sum = 0
    for (a in 1..k){
        for (b in 1..k){
            for (c in 1..k){
                sum += gcd(a, gcd(b, c))
            }
        }
    }
    println(sum)
}