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.*;
import java.io.PrintWriter;
import java.util.*;

import static java.lang.Math.*;

public class B146 {
	static Scanner in = new Scanner(System.in);
	static PrintWriter w = new PrintWriter(System.out, true);

	static int ni() {
		return in.nextInt();
	}

	static String nl() {
		return in.nextLine();
	}

	static void pl(int v) {
		w.println(v);
	}

	static void pl(String s) {
		w.println(s);
	}

	public static void main(String[] args) {
		int a = ni(), b = ni(), c = ni();
		boolean[] s = new boolean[101];
		int[] ps = new int[50];
		int pc = 0;
		for (int i = 2; i < 101; i++) {
			if (s[i]) continue;
			ps[pc++] = i;
			for (int j = i + i; j < 101; j += i)
				s[j] = true;
		}

		int[] m = new int[1000003];
		m[1] = 1;
		int res = 0;
		for (int i = 1; i <= a; i++) {
			for (int j = 1; j <= b; j++) {
				for (int k = 1; k <= c; k++) {
					int v = i*j*k;
					int mv = m[v];
					if (mv != 0)
						res += mv;
					else {
						int dv = v;
						int lr = 1;
						for (int pi = 0; pi < pc; pi++) {
							int p = ps[pi];
							if (dv % p == 0) {
								int llr = 1;
								do {
									llr++;
									dv /= p;
								} while (dv % p == 0);
								lr *= llr;
								if (dv == 1) break;
							}
						}
						m[v] = lr;
						res += lr;
					}
				}
			}
		}
		pl(res);
	}
}