import java.util.Scanner;
public class Main {
	public static int gcd(int a,int b,int c) {
		int d=0;
		int ans=0;
		while(d==0) {
		if(a>b) {
			a=a-b;
		}
		else if(a<b) {
			b=b-a;
		}
		else {
			d=a;
		}
		}
		while(ans==0) {
		if(d<c) {
			c=c-d;
		}
		else if(d>c) {
			d=d-c;
		}
		else {
			ans=d;
		}
		}
		return ans;
	}
	public static void main(String args[]) {
		Scanner sc=new Scanner(System.in);
		int K=sc.nextInt();
		int A=0;
		for(int i=1;i<K+1;i++) {
			for(int j=1;j<K+1;j++) {
				for(int k=1;k<K+1;k++) {
					A+=gcd(i,j,k);
				}
			}
		}
		System.out.println(A);
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static int gcd(int a,int b,int c) {
		int d=0;
		int ans=0;
		while(d==0) {
		if(a>b) {
			a=a-b;
		}
		else if(a<b) {
			b=b-a;
		}
		else {
			d=a;
		}
		}
		while(ans==0) {
		if(d<c) {
			c=c-d;
		}
		else if(d>c) {
			d=d-c;
		}
		else {
			ans=d;
		}
		}
		return ans;
	}
	public static void main(String args[]) {
		Scanner sc=new Scanner(System.in);
		int K=sc.nextInt();
		int A=0;
		for(int i=1;i<K+1;i++) {
			for(int j=1;j<K+1;j++) {
				for(int k=1;k<K+1;k++) {
					A+=gcd(i,j,k);
				}
			}
		}
		System.out.println(A);
	}
} Main public static int gcd(int a,int b,int c) {
		int d=0;
		int ans=0;
		while(d==0) {
		if(a>b) {
			a=a-b;
		}
		else if(a<b) {
			b=b-a;
		}
		else {
			d=a;
		}
		}
		while(ans==0) {
		if(d<c) {
			c=c-d;
		}
		else if(d>c) {
			d=d-c;
		}
		else {
			ans=d;
		}
		}
		return ans;
	} gcd {
		int d=0;
		int ans=0;
		while(d==0) {
		if(a>b) {
			a=a-b;
		}
		else if(a<b) {
			b=b-a;
		}
		else {
			d=a;
		}
		}
		while(ans==0) {
		if(d<c) {
			c=c-d;
		}
		else if(d>c) {
			d=d-c;
		}
		else {
			ans=d;
		}
		}
		return ans;
	} int d=0; d 0 int ans=0; ans 0 while(d==0) {
		if(a>b) {
			a=a-b;
		}
		else if(a<b) {
			b=b-a;
		}
		else {
			d=a;
		}
		} d==0 d 0 {
		if(a>b) {
			a=a-b;
		}
		else if(a<b) {
			b=b-a;
		}
		else {
			d=a;
		}
		} if(a>b) {
			a=a-b;
		}
		else if(a<b) {
			b=b-a;
		}
		else {
			d=a;
		} a>b a b {
			a=a-b;
		} a=a-b a a-b a b if(a<b) {
			b=b-a;
		}
		else {
			d=a;
		} a<b a b {
			b=b-a;
		} b=b-a b b-a b a {
			d=a;
		} d=a d a while(ans==0) {
		if(d<c) {
			c=c-d;
		}
		else if(d>c) {
			d=d-c;
		}
		else {
			ans=d;
		}
		} ans==0 ans 0 {
		if(d<c) {
			c=c-d;
		}
		else if(d>c) {
			d=d-c;
		}
		else {
			ans=d;
		}
		} if(d<c) {
			c=c-d;
		}
		else if(d>c) {
			d=d-c;
		}
		else {
			ans=d;
		} d<c d c {
			c=c-d;
		} c=c-d c c-d c d if(d>c) {
			d=d-c;
		}
		else {
			ans=d;
		} d>c d c {
			d=d-c;
		} d=d-c d d-c d c {
			ans=d;
		} ans=d ans d return ans; ans int a a int b b int c c public static void main(String args[]) {
		Scanner sc=new Scanner(System.in);
		int K=sc.nextInt();
		int A=0;
		for(int i=1;i<K+1;i++) {
			for(int j=1;j<K+1;j++) {
				for(int k=1;k<K+1;k++) {
					A+=gcd(i,j,k);
				}
			}
		}
		System.out.println(A);
	} main {
		Scanner sc=new Scanner(System.in);
		int K=sc.nextInt();
		int A=0;
		for(int i=1;i<K+1;i++) {
			for(int j=1;j<K+1;j++) {
				for(int k=1;k<K+1;k++) {
					A+=gcd(i,j,k);
				}
			}
		}
		System.out.println(A);
	} Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int K=sc.nextInt(); K sc.nextInt() sc.nextInt sc int A=0; A 0 for(int i=1;i<K+1;i++) {
			for(int j=1;j<K+1;j++) {
				for(int k=1;k<K+1;k++) {
					A+=gcd(i,j,k);
				}
			}
		} int i=1; int i=1; i 1 i<K+1 i K+1 K 1 i++ i++ i {
			for(int j=1;j<K+1;j++) {
				for(int k=1;k<K+1;k++) {
					A+=gcd(i,j,k);
				}
			}
		} {
			for(int j=1;j<K+1;j++) {
				for(int k=1;k<K+1;k++) {
					A+=gcd(i,j,k);
				}
			}
		} for(int j=1;j<K+1;j++) {
				for(int k=1;k<K+1;k++) {
					A+=gcd(i,j,k);
				}
			} int j=1; int j=1; j 1 j<K+1 j K+1 K 1 j++ j++ j {
				for(int k=1;k<K+1;k++) {
					A+=gcd(i,j,k);
				}
			} {
				for(int k=1;k<K+1;k++) {
					A+=gcd(i,j,k);
				}
			} for(int k=1;k<K+1;k++) {
					A+=gcd(i,j,k);
				} int k=1; int k=1; k 1 k<K+1 k K+1 K 1 k++ k++ k {
					A+=gcd(i,j,k);
				} {
					A+=gcd(i,j,k);
				} A+=gcd(i,j,k) A gcd(i,j,k) gcd i j k System.out.println(A) System.out.println System.out System System.out A String args[] args public class Main {
	public static int gcd(int a,int b,int c) {
		int d=0;
		int ans=0;
		while(d==0) {
		if(a>b) {
			a=a-b;
		}
		else if(a<b) {
			b=b-a;
		}
		else {
			d=a;
		}
		}
		while(ans==0) {
		if(d<c) {
			c=c-d;
		}
		else if(d>c) {
			d=d-c;
		}
		else {
			ans=d;
		}
		}
		return ans;
	}
	public static void main(String args[]) {
		Scanner sc=new Scanner(System.in);
		int K=sc.nextInt();
		int A=0;
		for(int i=1;i<K+1;i++) {
			for(int j=1;j<K+1;j++) {
				for(int k=1;k<K+1;k++) {
					A+=gcd(i,j,k);
				}
			}
		}
		System.out.println(A);
	}
} public class Main {
	public static int gcd(int a,int b,int c) {
		int d=0;
		int ans=0;
		while(d==0) {
		if(a>b) {
			a=a-b;
		}
		else if(a<b) {
			b=b-a;
		}
		else {
			d=a;
		}
		}
		while(ans==0) {
		if(d<c) {
			c=c-d;
		}
		else if(d>c) {
			d=d-c;
		}
		else {
			ans=d;
		}
		}
		return ans;
	}
	public static void main(String args[]) {
		Scanner sc=new Scanner(System.in);
		int K=sc.nextInt();
		int A=0;
		for(int i=1;i<K+1;i++) {
			for(int j=1;j<K+1;j++) {
				for(int k=1;k<K+1;k++) {
					A+=gcd(i,j,k);
				}
			}
		}
		System.out.println(A);
	}
} Main
import java.util.Scanner;
public class Main {
	public static int gcd(int a,int b,int c) {
		int d=0;
		int ans=0;
		while(d==0) {
		if(a>b) {
			a=a-b;
		}
		else if(a<b) {
			b=b-a;
		}
		else {
			d=a;
		}
		}
		while(ans==0) {
		if(d<c) {
			c=c-d;
		}
		else if(d>c) {
			d=d-c;
		}
		else {
			ans=d;
		}
		}
		return ans;
	}
	public static void main(String args[]) {
		Scanner sc=new Scanner(System.in);
		int K=sc.nextInt();
		int A=0;
		for(int i=1;i<K+1;i++) {
			for(int j=1;j<K+1;j++) {
				for(int k=1;k<K+1;k++) {
					A+=gcd(i,j,k);
				}
			}
		}
		System.out.println(A);
	}
}
