program cm
  implicit none
  integer::N
  integer(16)::ANS=0
  integer::i,j,ij,k
read*,N
do i=1,N
  do j=1,N
    ij=gcd(i,j)
    do k=1,N
      ANS=ANS+gcd(ij,k)
    end do
  end do
end do
print"(i0)",ANS
contains
integer recursive function gcd(a, b)result(res)
  integer, intent(in)::a, b
  res=merge(b, gcd(b, mod(a, b)),mod(a, b)==0)
end function
end program cm