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:
a,b,c = map(int, input().split())

# TLE in Python3 but Passing in PyPy 
# def divisor_sieve(n):
#     table = [0]*(n+1)
#     for divisor in range(1, n+1):
#         for multipliers in range(divisor, n+1, divisor):
#             table[multipliers] += 1
#     return table

# table = divisor_sieve(a*b*c)
# divisor_sum = 0

# for i in range(1, a+1):
#     for j in range(1, b+1):
#         for k in range(1, c+1):
#             divisor_sum += table[i*j*k]

# print(divisor_sum)

table = {}
def prime_divisors(n):
    if n in table:
        return table[n]
    total_divisors = 1
    prime_divisor = 2
    table_key = n
    while prime_divisor * prime_divisor <= n:
        current_prime_count = 1
        # only primes will enter this block
        while n % prime_divisor == 0:
            n /= prime_divisor
            current_prime_count += 1
        total_divisors = (total_divisors * current_prime_count)
        prime_divisor += 1
    if n > 1:
        total_divisors *= 2
    table[table_key] = total_divisors
    return total_divisors


divisor_sum = 0
for i in range(1, a+1):
    for j in range(1, b+1):
        for k in range(1, c+1):
            divisor_sum += prime_divisors(i*j*k)

print(divisor_sum)