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 ≤ 100).

Output

Print a single integer — the required sum modulo 1073741824 (230).

Examples

Input

2 2 2


Output

20


Input

5 6 7


Output

1520

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.
#include <bits/stdc++.h>
using namespace std;
const int cnt = 26;
int p[100] = {2,  3,  5,  7,  11, 13, 15, 17, 19, 23, 29, 31, 37,
              41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97};
int d[101 + 1][101 + 1][101 + 1];
int f[101 + 1][100];
int temp[100];
void initf() {
  memset(f, 0, sizeof(f));
  for (int i = 2; i < 101; i++) {
    int t = i;
    for (int j = 0; j < cnt; j++) {
      while (t % p[j] == 0) {
        t /= p[j];
        f[i][j]++;
      }
    }
  }
}
void initd() {
  memset(d, 0, sizeof(d));
  for (int a = 0; a < 101; a++) {
    for (int b = 0; b < 101; b++)
      for (int c = 0; c < 101; c++) {
        memset(temp, 0, sizeof(temp));
        for (int i = 0; i < cnt; i++) {
          temp[i] += f[a][i] + f[b][i] + f[c][i];
        }
        int ans = 1;
        for (int i = 0; i < cnt; i++)
          if (temp[i] > 0) {
            ans *= temp[i] + 1;
            ans %= 1073741824;
          }
        d[a][b][c] = ans;
      }
  }
}
int main() {
  initf();
  initd();
  int A, B, C;
  while (~scanf("%d%d%d", &A, &B, &C)) {
    int ans = 0;
    for (int a = 1; a <= A; a++)
      for (int b = 1; b <= B; b++)
        for (int c = 1; c <= C; c++) {
          ans += d[a][b][c];
          ans %= 1073741824;
        }
    printf("%d\n", ans);
  }
}
