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.*;
public class Divisor{
	
	public static void main(String[] args) {
		
		int M = 1000001;
		
		Scanner in = new Scanner(System.in);
		
		int[] numberOfDivisors = new int[M + 1];
		
		helper(numberOfDivisors, M);
		
		int a = in.nextInt();
		int b = in.nextInt();
		int c = in.nextInt();
		
		int N = 1073741824;
		long modulo = 0;
		
		for (int i = 1; i <= a; i++) {
			
			for (int j = 1; j <= b; j++) {
				
				for (int k = 1; k <= c; k++) {
					
					int d = numberOfDivisors[i * j * k];
					
					modulo = ((modulo % N) + (d % N)) % N;
					
				}
				
			}
			
		}
		
		modulo %= N;
		
		System.out.println(modulo);
		
		
		
	}
	
	
	public static void helper(int[] numberOfDivisors, int N) {
		
		
		numberOfDivisors[0] = 1;
		numberOfDivisors[1] = 1;
		
		for (int i = 2; i * i <= N; i++) {
			
			if (numberOfDivisors[i] == 0) {
				
				for (int j = i; j <= N; j += i) {
					
					int q = j;
					int e = 0;
					
					while (q % i == 0) {
						e++;
						q /= i;
						
					}
					
					if (numberOfDivisors[j] != 0) numberOfDivisors[j] *= (e + 1);
					else numberOfDivisors[j] = e + 1;
					
				}
				
			}
			
		}
		
	}
			
}