Problem: Let's denote d(n) as the number of divisors of a positive integer n. You are given three integers a, b and c. Your task is to calculate the following sum:

<image>

Find the sum modulo 1073741824 (230).

Input

The first line contains three space-separated integers a, b and c (1 ≤ a, b, c ≤ 2000).

Output

Print a single integer — the required sum modulo 1073741824 (230).

Examples

Input

2 2 2


Output

20


Input

4 4 4


Output

328


Input

10 10 10


Output

11536

Note

For the first example.

  * d(1·1·1) = d(1) = 1; 
  * d(1·1·2) = d(2) = 2; 
  * d(1·2·1) = d(2) = 2; 
  * d(1·2·2) = d(4) = 3; 
  * d(2·1·1) = d(2) = 2; 
  * d(2·1·2) = d(4) = 3; 
  * d(2·2·1) = d(4) = 3; 
  * d(2·2·2) = d(8) = 4. 



So the result is 1 + 2 + 2 + 3 + 2 + 3 + 3 + 4 = 20.

Solution (in JAVA):

Solution:
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Scanner;

public class asdf {
	static int[] memo;
	static primeSieve prime;
	public static void main(String[] args) {
		memo = new int[1000001];
		Arrays.fill(memo, -1);
		prime = new primeSieve(1000001);
		Scanner sc = new Scanner(System.in);
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		long total = 0;
		for(int i=1;i<=A;i++){
			for(int j=1;j<=B;j++){
				for(int k=1;k<=C;k++){
					total+=D(i*j*k);
					
				}
			}
		}
		System.out.println(total%1073741824);
		
	}
	

	private static int D(int i) {
		//System.out.println("XXXX"+i);
		if(memo[i]!=-1)return memo[i];
		if(i==1) return 1;
		int many = 1;
		LinkedList<Integer> LL = new LinkedList<Integer>();
		while(i!=1){
			
			LL.add(prime.prime[i]);
			i/=prime.prime[i];
			
		}
		int last = -1;
		int amount = 0;
		while(!LL.isEmpty()){
			int cur = LL.poll();
			if(cur!=last){
				many*=amount+1;
				amount= 1;
				last=cur;
			}
			else amount++;
		}
		many*=amount+1;
	//	System.out.println(many);
		return many;
	}


}
class primeSieve {
	int[] prime;
	primeSieve(int n){
		prime = new int[n+1];
		prime[1]=0;
		int m = (int)Math.sqrt(n);
		for(int i=2;i<=m;i++){
			if(prime[i]==0){
				for(int k=i*i;k<=n;k+=i){
					if(prime[k]==0)prime[k]=i;
				}
				prime[i]=i;
			}
			
		}
		//for(int a=1;a<=180;a++)System.out.print(a+":"+prime[a]+" ");
	}
	
}