import java.util.*;
class Main
{
  static int gcd(int a, int b) 
    { 
        if (a == 0) 
            return b; 
        return gcd(b % a, a); 
    } 
    static int findGCD(int arr[], int n) 
    { 
        int result = arr[0]; 
        for (int i = 1; i < n; i++) 
            result = gcd(arr[i], result); 
  
        return result; 
    } 
  public static void main(String args[])
  {
    long sum=0;
    int a[]=new int [3];
    Scanner sc=new Scanner(System.in);
    int k=sc.nextInt();
    for(int i=1;i<=k;i++)
    {
      for(int j=1;j<=k;j++)
      {
        for(int x=1;x<=k;x++)
        {
            a[0]=i;
          	a[1]=j;
          	a[2]=x;
        	sum+=findGCD(a,3);
        }
      }
    }
    System.out.println(sum);        
  }
} import java.util.*; util.* java class Main
{
  static int gcd(int a, int b) 
    { 
        if (a == 0) 
            return b; 
        return gcd(b % a, a); 
    } 
    static int findGCD(int arr[], int n) 
    { 
        int result = arr[0]; 
        for (int i = 1; i < n; i++) 
            result = gcd(arr[i], result); 
  
        return result; 
    } 
  public static void main(String args[])
  {
    long sum=0;
    int a[]=new int [3];
    Scanner sc=new Scanner(System.in);
    int k=sc.nextInt();
    for(int i=1;i<=k;i++)
    {
      for(int j=1;j<=k;j++)
      {
        for(int x=1;x<=k;x++)
        {
            a[0]=i;
          	a[1]=j;
          	a[2]=x;
        	sum+=findGCD(a,3);
        }
      }
    }
    System.out.println(sum);        
  }
} Main static int gcd(int a, int b) 
    { 
        if (a == 0) 
            return b; 
        return gcd(b % a, a); 
    } gcd { 
        if (a == 0) 
            return b; 
        return gcd(b % a, a); 
    } if (a == 0) 
            return b; a == 0 a 0 return b; b return gcd(b % a, a); gcd(b % a, a) gcd b % a b a a int a a int b b static int findGCD(int arr[], int n) 
    { 
        int result = arr[0]; 
        for (int i = 1; i < n; i++) 
            result = gcd(arr[i], result); 
  
        return result; 
    } findGCD { 
        int result = arr[0]; 
        for (int i = 1; i < n; i++) 
            result = gcd(arr[i], result); 
  
        return result; 
    } int result = arr[0]; result arr[0] arr 0 for (int i = 1; i < n; i++) 
            result = gcd(arr[i], result); int i = 1; int i = 1; i 1 i < n i n i++ i++ i result = gcd(arr[i], result); result = gcd(arr[i], result) result gcd(arr[i], result) gcd arr[i] arr i result return result; result int arr[] arr int n n public static void main(String args[])
  {
    long sum=0;
    int a[]=new int [3];
    Scanner sc=new Scanner(System.in);
    int k=sc.nextInt();
    for(int i=1;i<=k;i++)
    {
      for(int j=1;j<=k;j++)
      {
        for(int x=1;x<=k;x++)
        {
            a[0]=i;
          	a[1]=j;
          	a[2]=x;
        	sum+=findGCD(a,3);
        }
      }
    }
    System.out.println(sum);        
  } main {
    long sum=0;
    int a[]=new int [3];
    Scanner sc=new Scanner(System.in);
    int k=sc.nextInt();
    for(int i=1;i<=k;i++)
    {
      for(int j=1;j<=k;j++)
      {
        for(int x=1;x<=k;x++)
        {
            a[0]=i;
          	a[1]=j;
          	a[2]=x;
        	sum+=findGCD(a,3);
        }
      }
    }
    System.out.println(sum);        
  } long sum=0; sum 0 int a[]=new int [3]; a new int [3] 3 Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int k=sc.nextInt(); k sc.nextInt() sc.nextInt sc for(int i=1;i<=k;i++)
    {
      for(int j=1;j<=k;j++)
      {
        for(int x=1;x<=k;x++)
        {
            a[0]=i;
          	a[1]=j;
          	a[2]=x;
        	sum+=findGCD(a,3);
        }
      }
    } int i=1; int i=1; i 1 i<=k i k i++ i++ i {
      for(int j=1;j<=k;j++)
      {
        for(int x=1;x<=k;x++)
        {
            a[0]=i;
          	a[1]=j;
          	a[2]=x;
        	sum+=findGCD(a,3);
        }
      }
    } {
      for(int j=1;j<=k;j++)
      {
        for(int x=1;x<=k;x++)
        {
            a[0]=i;
          	a[1]=j;
          	a[2]=x;
        	sum+=findGCD(a,3);
        }
      }
    } for(int j=1;j<=k;j++)
      {
        for(int x=1;x<=k;x++)
        {
            a[0]=i;
          	a[1]=j;
          	a[2]=x;
        	sum+=findGCD(a,3);
        }
      } int j=1; int j=1; j 1 j<=k j k j++ j++ j {
        for(int x=1;x<=k;x++)
        {
            a[0]=i;
          	a[1]=j;
          	a[2]=x;
        	sum+=findGCD(a,3);
        }
      } {
        for(int x=1;x<=k;x++)
        {
            a[0]=i;
          	a[1]=j;
          	a[2]=x;
        	sum+=findGCD(a,3);
        }
      } for(int x=1;x<=k;x++)
        {
            a[0]=i;
          	a[1]=j;
          	a[2]=x;
        	sum+=findGCD(a,3);
        } int x=1; int x=1; x 1 x<=k x k x++ x++ x {
            a[0]=i;
          	a[1]=j;
          	a[2]=x;
        	sum+=findGCD(a,3);
        } {
            a[0]=i;
          	a[1]=j;
          	a[2]=x;
        	sum+=findGCD(a,3);
        } a[0]=i a[0] a 0 i a[1]=j a[1] a 1 j a[2]=x a[2] a 2 x sum+=findGCD(a,3) sum findGCD(a,3) findGCD a 3 System.out.println(sum) System.out.println System.out System System.out sum String args[] args
import java.util.*;
class Main
{
  static int gcd(int a, int b) 
    { 
        if (a == 0) 
            return b; 
        return gcd(b % a, a); 
    } 
    static int findGCD(int arr[], int n) 
    { 
        int result = arr[0]; 
        for (int i = 1; i < n; i++) 
            result = gcd(arr[i], result); 
  
        return result; 
    } 
  public static void main(String args[])
  {
    long sum=0;
    int a[]=new int [3];
    Scanner sc=new Scanner(System.in);
    int k=sc.nextInt();
    for(int i=1;i<=k;i++)
    {
      for(int j=1;j<=k;j++)
      {
        for(int x=1;x<=k;x++)
        {
            a[0]=i;
          	a[1]=j;
          	a[2]=x;
        	sum+=findGCD(a,3);
        }
      }
    }
    System.out.println(sum);        
  }
}