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

prime=[2,3,5,7,11];d={}

def GeneratePrimes():
    for i in range(12,1010):
        for j in prime:
            if i%j==0:
                break
            if j*j>i:
                prime.append(i)
                break
        else:
            prime.append(i)
    #for i in range(1,len(prime)+1):
        #d[prime[i-1]]=i

def UpperBound(x):
    l=0;h=len(prime)
    while l<=h:
        m=(l+h)//2
        if x>prime[m]:
            l=m+1
        elif x<prime[m]:
            h=m-1
        else:
            return m
    return l
#GeneratePrimes()

GeneratePrimes()
def NumberOfDiv(x):
    count=1
    for i in prime:
        if i*i>x:
            break
        if x%i==0:
            b=0
            while x%i==0:
                b+=1
                x//=i
            count*=(b+1)
    if x!=1:
        count*=2
    return count

a,b,c=map(int,input().split())
res=0;mod=2**30
for i in range(1,a+1):
    for j in range(1,b+1):
        for k in range(1,c+1):
            res+=NumberOfDiv(i*j*k)
        res=res%mod

print(res%mod)