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

Solution:
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
m = 1073741824


a,b,c = map(int, raw_input().rstrip().split(' '))
cache = {}


def merge_dicts(one, other):
  for key in other.keys():
    if key in one:
      one[key] += other[key]
    else:
      one[key] = other[key]

  return one


def factor(num):
  global cache
  orig = num
  ret = {1:0}
  while num != 1:
    for prime in primes:
      while num % prime == 0:
        ret[prime] = ret[prime] + 1 if prime in ret else 1
        num /= prime
        if num in cache:
          cache[orig] = merge_dicts(ret, cache[num])
          return cache[orig]
  cache[orig] = ret
  return cache[orig]

def d(num):
  return reduce(lambda x,y: x * (y + 1), factor(num).values(),1)

occ = {}

# TODO: This should be done in a smarter way... Indeed since it doesn't finish in 2 seconds.
for i in xrange(1,a + 1):
  for j in xrange(1,b + 1):
    for k in xrange(1,c + 1):
      curr = i * j * k
      if curr in occ:
        occ[curr] += 1
      else:
        occ[curr] = 1

grand_total = 0

for key,val in occ.iteritems():
  grand_total = (grand_total + d(key) * val) % m

print grand_total