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 PYTHON3):

Solution:
import math
from functools import reduce


def get_factors_count(nb: int) -> int:
    counts = {2: 0}
    while nb % 2 == 0:
        counts[2] += 1
        nb //= 2
    iter_range = range(3, int(math.sqrt(nb)) + 1, 2)
    counts = {**counts, **dict.fromkeys(iter_range, 0)}
    for i in iter_range:
        while nb % i == 0:
            counts[i] += 1
            nb //= i
    if nb > 2:
        counts[nb] = 1
    return reduce(lambda a, b: a * (b + 1), counts.values(), 1)


result = 0
calculated = dict()
a, b, c = map(int, input().split())
for i in range(1, a + 1):
    for j in range(1, b + 1):
        for k in range(1, c + 1):
            product = i * j * k
            if product not in calculated.keys():
                calculated[product] = get_factors_count(i * j * k)
            result += calculated[product]
print(result % 2 ** 30)