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

Solution:
#include <bits/stdc++.h>
using namespace std;
bool comp[2005];
vector<int> primes;
const int MOD = 1 << 30;
map<long long, int> dp[303];
int solve(int idx, int aa, int bb, int cc) {
  if (idx < 0) return 1;
  if (aa > bb) swap(aa, bb);
  if (aa > cc) swap(aa, cc);
  if (bb > cc) swap(bb, cc);
  if (aa + bb + cc == 3) return 1;
  long long key = aa;
  key <<= 11;
  key |= bb;
  key <<= 11;
  key |= cc;
  if (dp[idx].count(key)) return dp[idx][key];
  int ret = 0;
  for (int a = aa, aamt = 0; a >= 1; a /= primes[idx], aamt++) {
    for (int b = bb, bamt = 0; b >= 1; b /= primes[idx], bamt++) {
      for (int c = cc, camt = 0; c >= 1; c /= primes[idx], camt++) {
        ret = (ret + ((aamt + bamt + camt + 1LL) * solve(idx - 1, a, b, c))) %
              MOD;
      }
    }
  }
  dp[idx][key] = ret;
  return ret;
}
void solve() {
  for (int i = 2; i < 2000; i++)
    for (int j = 2 * i; j <= 2000; j += i) comp[j] = true;
  int a, b, c;
  cin >> a >> b >> c;
  for (int i = 2; i < 2000; i++)
    if (!comp[i]) primes.push_back(i);
  vector<int> cand;
  cand.push_back(a);
  cand.push_back(b);
  cand.push_back(c);
  sort(cand.begin(), cand.end());
  cout << solve((int)(primes).size() - 1, a, b, c) << "\n";
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  solve();
}