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 Rust (1.42.0) (judge verdict: Accepted)

#![allow(unused_imports)]
use petgraph::unionfind::UnionFind;
use proconio::*;
use std::cmp::*;
use std::fs;
use std::io::*;

fn gcd(a:i64, b:i64)->i64 {
    match b {
        0 => a,
        _ => gcd(b, a%b)
    }
}

#[fastout]
fn main() {
   input! {
      k: usize,
   }
   let mut ans = 0i64;
   for a in 1..(k+1) {
       for b in 1..(k+1) {
           for c in 1..(k+1) {
               ans += gcd(a as i64, gcd(b as i64, c as i64));
           }
       }
   }
   println!("{}", ans);
}