import java.io.{BufferedOutputStream, BufferedReader, InputStreamReader, PrintWriter}

import scala.collection.mutable

object Main {
  def main(args: Array[String]): Unit = {
    val in = new BufferedReader(new InputStreamReader(System.in))
    val out = new PrintWriter(new BufferedOutputStream(System.out))
    val k = in.readLine().toInt

    val memo = mutable.HashMap.empty[(Int, Int), Int]

    def gcd(a: Int, b: Int): Int = {
      if (b == 0) {
        a
      } else if (a < b) {
        gcd(b, a)
      } else {
        memo.getOrElseUpdate((a, b), gcd(b, a % b))
      }
    }

    def gcd3(a: Int, b: Int, c: Int): Int = {
      gcd(a, gcd(b, c))
    }

    var sum = 0L

    for (a <- 1 to k) {
      for (b <- 1 to k) {
        for (c <- 1 to k) {
          sum += gcd3(a, b, c)
        }
      }
    }
    out.println(sum)

    out.flush()
  }

}
