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.HashMap;
import java.util.Scanner;

public class EasyNumChallenge {

	static long Mod = 1073741824;
	static HashMap<Long, Long> map = new HashMap<>();
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		

		long sum = 0;
		for (int i = 1; i <= a; i++) {
			for (int j = 1; j <= b; j++) {
				for (int k = 1; k <= c; k++) {
					long f = i * j * k;
					if (!map.containsKey(f)) {
						long fact = factors(f) % Mod;
						sum = (sum + fact) % Mod;
					}else {
						sum=(sum+map.get(f))%Mod;
					}
					
				}
			}
		}
		System.out.println(sum);

	}

	private static long factors(long f) {
		// TODO Auto-generated method stub
		long count = 0;

		double range = Math.sqrt(f);
		for (int i = 1; i <= range; i++) {
			if (f % i == 0) {
				if ((i * i) != f) {
					count = count + 2;
				} else {
					count = count + 1;
				}
			}
		}
		map.put(f, count);

		return count % Mod;
	}

}