#include <bits/stdc++.h>
using namespace std;
int a, b, c;
unsigned long ans = 0;
unordered_map<int, int> um;
void eval(int x) {
  int t = 0;
  for (int i = 1; i <= sqrt(x); ++i) {
    if (i * i == x)
      t += 1;
    else if (x % i == 0)
      t += 2;
  }
  ans += t;
  um[x] = t;
}
int main() {
  cin >> a >> b >> c;
  for (int i = 1; i <= a; ++i) {
    for (int j = 1; j <= b; ++j) {
      for (int k = 1; k <= c; ++k) {
        if (um.find(i * j * k) != um.end())
          ans = (ans + um[i * j * k]) % 1073741824LL;
        else
          eval(i * j * k);
      }
    }
  }
  cout << ans << endl;
}
