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.Scanner;
public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
    long res=0 , a, b,c ; 
    @SuppressWarnings("resource")
    Scanner n = new Scanner (System.in);
    
    a=n.nextLong();
    b=n.nextLong();
    c=n.nextLong();
    int youneed []= new int [1000000];
    nody(youneed);
    for (int i = 1 ; i <= a ; i++)
        for (int j = 1 ;j <= b ;j++)
            for (int y= 1 ; y <= c ; y++)
                res=res+po(i*j*y,youneed);
    
    System.out.print(res);
    }
public static void nody(int [] a)
{
    int k=0;
    boolean [] b = new boolean[1000001];
    b[0]=b[1]=true;
    for (int i = 2 ; i*i <= 1000000 ; i++ )
        if (!b[i])
            for (int j = i*i ; j < 1000000 ; j+=i )
                b[j]=true;
for (int i = 0 ; i < 1000000; i++)
    if (!b[i])a[k++]=i;
}
public static long po (long i, int [] youneed)
{
    long  div = 1 , w;
    int o = 0 ;
    for(long  p = youneed[o] ; p*p <= i   ; p=youneed[++o]  )
    {
        w =  1 ;
        while (  i % p == 0 )
        {
            w++;
            i/=p;
        }
     div *=w ;
    }
    if (i!=1)
        div*=2;
return div ;
}
}