#include <bits/stdc++.h>
using namespace std;
const int mod = 1 << 30;
int prime[1000005 + 5], r_prime[1000005 + 5], sz;
void prime_sieve() {
  int i, j;
  prime[0] = 1;
  prime[1] = 1;
  for (i = 4; i <= 1000005; i += 2) prime[i] = 1;
  for (i = 3; i <= sqrt(1000005); i += 2) {
    if (prime[i] == 0) {
      for (j = i * i; j <= (1000005); j += i) prime[j] = 1;
    }
  }
  j = 0;
  for (i = 0; i < 1000005; i++) {
    if (prime[i] == 0) {
      r_prime[j] = i;
      j++;
    }
  }
  sz = j;
}
int main() {
  prime_sieve();
  int a, b, c;
  cin >> a >> b >> c;
  int ans = 0;
  for (int i = 1; i <= a; i++) {
    for (int j = 1; j <= b; j++) {
      for (int k = 1; k <= c; k++) {
        int num = i * j * k;
        int tmp = num;
        int cnt = 0;
        int res = 1;
        for (int l = 0; l < sz; l++) {
          if (tmp % r_prime[l] == 0) {
            cnt = 0;
            while (tmp % r_prime[l] == 0 && tmp) {
              cnt++;
              tmp /= r_prime[l];
            }
            res *= (cnt + 1);
          }
          if (tmp == 1) break;
        }
        if (num == 1)
          ans += 1;
        else {
          ans += res;
          ans %= mod;
        }
      }
    }
  }
  cout << ans << endl;
  return 0;
}
