#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int a,b,c;
if(!(cin>>a>>b>>c)) return 0;
int mx = max(a, max(b,c));
vector<int> isP(mx+1,1), primes;
isP.assign(mx+1,1); isP[0]=isP[1]=0;
for(int i=2;i*i<=mx;i++) if(isP[i]) for(long long j=1LL*i*i;j<=mx;j+=i) isP[j]=0;
for(int i=2;i<=mx;i++) if(isP[i]) primes.push_back(i);
reverse(primes.begin(), primes.end());
const uint32_t MOD = 1u<<30, MASK = MOD-1;
vector<vector<int>> pw(primes.size());
for (size_t i=0;i<primes.size();++i){
int p=primes[i]; long long cur=1;
while(cur<=mx){ pw[i].push_back((int)cur); if(cur>mx/p) break; cur*=p; }
}
vector<int> vx = {a}, vy = {b}, vz = {c};
vector<uint32_t> dp(1,1), ndp;
for (size_t i=0;i<primes.size();++i){
vector<int> nx, ny, nz;
nx.reserve(vx.size()*3); ny.reserve(vy.size()*3); nz.reserve(vz.size()*3);
for (int x: vx) for (int t: pw[i]) { if(t>x) break; nx.push_back(x/t); }
for (int y: vy) for (int t: pw[i]) { if(t>y) break; ny.push_back(y/t); }
for (int z: vz) for (int t: pw[i]) { if(t>z) break; nz.push_back(z/t); }
sort(nx.begin(), nx.end()); nx.erase(unique(nx.begin(), nx.end()), nx.end());
sort(ny.begin(), ny.end()); ny.erase(unique(ny.begin(), ny.end()), ny.end());
sort(nz.begin(), nz.end()); nz.erase(unique(nz.begin(), nz.end()), nz.end());
vector<int> idxX(mx+1,-1), idxY(mx+1,-1), idxZ(mx+1,-1);
for (int j=0;j<(int)nx.size();++j) idxX[nx[j]] = j;
for (int j=0;j<(int)ny.size();++j) idxY[ny[j]] = j;
for (int j=0;j<(int)nz.size();++j) idxZ[nz[j]] = j;
int X=vx.size(), Y=vy.size(), Z=vz.size();
int NX=nx.size(), NY=ny.size(), NZ=nz.size();
ndp.assign((size_t)NX*NY*NZ, 0);
vector<vector<pair<int,int>>> TX(X), TY(Y), TZ(Z);
for(int px=0;px<X;++px){
int x=vx[px];
for(int e=0;e<(int)pw[i].size();++e){ int t=pw[i][e]; if(t>x) break; TX[px].push_back({idxX[x/t], e}); }
}
for(int py=0;py<Y;++py){
int y=vy[py];
for(int e=0;e<(int)pw[i].size();++e){ int t=pw[i][e]; if(t>y) break; TY[py].push_back({idxY[y/t], e}); }
}
for(int pz=0;pz<Z;++pz){
int z=vz[pz];
for(int e=0;e<(int)pw[i].size();++e){ int t=pw[i][e]; if(t>z) break; TZ[pz].push_back({idxZ[z/t], e}); }
}
size_t strideYZ = (size_t)Y*Z, strideNZ = (size_t)NY*NZ;
for(int px=0;px<X;++px){
for(int py=0;py<Y;++py){
size_t base = (size_t)px*strideYZ + (size_t)py*Z;
auto &VX = TX[px]; auto &VY = TY[py];
for(int pz=0;pz<Z;++pz){
uint32_t val = dp[base + pz];
if(!val) continue;
auto &VZ = TZ[pz];
for (auto [ix, ex]: VX){
size_t baseX = (size_t)ix*strideNZ;
for (auto [iy, ey]: VY){
size_t baseY = baseX + (size_t)iy*NZ;
for (auto [iz, ez]: VZ){
uint32_t add = (uint32_t)(((uint64_t)val * (ex + ey + ez + 1)) & MASK);
uint32_t &cell = ndp[baseY + iz];
cell += add; cell &= MASK;
}
}
}
}
}
}
dp.swap(ndp);
vx.swap(nx); vy.swap(ny); vz.swap(nz);
}
uint32_t ans = 0;
for (uint32_t v: dp){ ans += v; ans &= MASK; }
cout << ans << '\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IGEsYixjOwogICAgaWYoIShjaW4+PmE+PmI+PmMpKSByZXR1cm4gMDsKCiAgICBpbnQgbXggPSBtYXgoYSwgbWF4KGIsYykpOwogICAgdmVjdG9yPGludD4gaXNQKG14KzEsMSksIHByaW1lczsKICAgIGlzUC5hc3NpZ24obXgrMSwxKTsgaXNQWzBdPWlzUFsxXT0wOwogICAgZm9yKGludCBpPTI7aSppPD1teDtpKyspIGlmKGlzUFtpXSkgZm9yKGxvbmcgbG9uZyBqPTFMTCppKmk7ajw9bXg7ais9aSkgaXNQW2pdPTA7CiAgICBmb3IoaW50IGk9MjtpPD1teDtpKyspIGlmKGlzUFtpXSkgcHJpbWVzLnB1c2hfYmFjayhpKTsKICAgIHJldmVyc2UocHJpbWVzLmJlZ2luKCksIHByaW1lcy5lbmQoKSk7CgogICAgY29uc3QgdWludDMyX3QgTU9EID0gMXU8PDMwLCBNQVNLID0gTU9ELTE7CgogICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiBwdyhwcmltZXMuc2l6ZSgpKTsKICAgIGZvciAoc2l6ZV90IGk9MDtpPHByaW1lcy5zaXplKCk7KytpKXsKICAgICAgICBpbnQgcD1wcmltZXNbaV07IGxvbmcgbG9uZyBjdXI9MTsKICAgICAgICB3aGlsZShjdXI8PW14KXsgcHdbaV0ucHVzaF9iYWNrKChpbnQpY3VyKTsgaWYoY3VyPm14L3ApIGJyZWFrOyBjdXIqPXA7IH0KICAgIH0KCiAgICB2ZWN0b3I8aW50PiB2eCA9IHthfSwgdnkgPSB7Yn0sIHZ6ID0ge2N9OwogICAgdmVjdG9yPHVpbnQzMl90PiBkcCgxLDEpLCBuZHA7CgogICAgZm9yIChzaXplX3QgaT0wO2k8cHJpbWVzLnNpemUoKTsrK2kpewogICAgICAgIHZlY3RvcjxpbnQ+IG54LCBueSwgbno7CiAgICAgICAgbngucmVzZXJ2ZSh2eC5zaXplKCkqMyk7IG55LnJlc2VydmUodnkuc2l6ZSgpKjMpOyBuei5yZXNlcnZlKHZ6LnNpemUoKSozKTsKICAgICAgICBmb3IgKGludCB4OiB2eCkgZm9yIChpbnQgdDogcHdbaV0pIHsgaWYodD54KSBicmVhazsgbngucHVzaF9iYWNrKHgvdCk7IH0KICAgICAgICBmb3IgKGludCB5OiB2eSkgZm9yIChpbnQgdDogcHdbaV0pIHsgaWYodD55KSBicmVhazsgbnkucHVzaF9iYWNrKHkvdCk7IH0KICAgICAgICBmb3IgKGludCB6OiB2eikgZm9yIChpbnQgdDogcHdbaV0pIHsgaWYodD56KSBicmVhazsgbnoucHVzaF9iYWNrKHovdCk7IH0KICAgICAgICBzb3J0KG54LmJlZ2luKCksIG54LmVuZCgpKTsgbnguZXJhc2UodW5pcXVlKG54LmJlZ2luKCksIG54LmVuZCgpKSwgbnguZW5kKCkpOwogICAgICAgIHNvcnQobnkuYmVnaW4oKSwgbnkuZW5kKCkpOyBueS5lcmFzZSh1bmlxdWUobnkuYmVnaW4oKSwgbnkuZW5kKCkpLCBueS5lbmQoKSk7CiAgICAgICAgc29ydChuei5iZWdpbigpLCBuei5lbmQoKSk7IG56LmVyYXNlKHVuaXF1ZShuei5iZWdpbigpLCBuei5lbmQoKSksIG56LmVuZCgpKTsKCiAgICAgICAgdmVjdG9yPGludD4gaWR4WChteCsxLC0xKSwgaWR4WShteCsxLC0xKSwgaWR4WihteCsxLC0xKTsKICAgICAgICBmb3IgKGludCBqPTA7ajwoaW50KW54LnNpemUoKTsrK2opIGlkeFhbbnhbal1dID0gajsKICAgICAgICBmb3IgKGludCBqPTA7ajwoaW50KW55LnNpemUoKTsrK2opIGlkeFlbbnlbal1dID0gajsKICAgICAgICBmb3IgKGludCBqPTA7ajwoaW50KW56LnNpemUoKTsrK2opIGlkeFpbbnpbal1dID0gajsKCiAgICAgICAgaW50IFg9dnguc2l6ZSgpLCBZPXZ5LnNpemUoKSwgWj12ei5zaXplKCk7CiAgICAgICAgaW50IE5YPW54LnNpemUoKSwgTlk9bnkuc2l6ZSgpLCBOWj1uei5zaXplKCk7CiAgICAgICAgbmRwLmFzc2lnbigoc2l6ZV90KU5YKk5ZKk5aLCAwKTsKCiAgICAgICAgdmVjdG9yPHZlY3RvcjxwYWlyPGludCxpbnQ+Pj4gVFgoWCksIFRZKFkpLCBUWihaKTsKICAgICAgICBmb3IoaW50IHB4PTA7cHg8WDsrK3B4KXsKICAgICAgICAgICAgaW50IHg9dnhbcHhdOwogICAgICAgICAgICBmb3IoaW50IGU9MDtlPChpbnQpcHdbaV0uc2l6ZSgpOysrZSl7IGludCB0PXB3W2ldW2VdOyBpZih0PngpIGJyZWFrOyBUWFtweF0ucHVzaF9iYWNrKHtpZHhYW3gvdF0sIGV9KTsgfQogICAgICAgIH0KICAgICAgICBmb3IoaW50IHB5PTA7cHk8WTsrK3B5KXsKICAgICAgICAgICAgaW50IHk9dnlbcHldOwogICAgICAgICAgICBmb3IoaW50IGU9MDtlPChpbnQpcHdbaV0uc2l6ZSgpOysrZSl7IGludCB0PXB3W2ldW2VdOyBpZih0PnkpIGJyZWFrOyBUWVtweV0ucHVzaF9iYWNrKHtpZHhZW3kvdF0sIGV9KTsgfQogICAgICAgIH0KICAgICAgICBmb3IoaW50IHB6PTA7cHo8WjsrK3B6KXsKICAgICAgICAgICAgaW50IHo9dnpbcHpdOwogICAgICAgICAgICBmb3IoaW50IGU9MDtlPChpbnQpcHdbaV0uc2l6ZSgpOysrZSl7IGludCB0PXB3W2ldW2VdOyBpZih0PnopIGJyZWFrOyBUWltwel0ucHVzaF9iYWNrKHtpZHhaW3ovdF0sIGV9KTsgfQogICAgICAgIH0KCiAgICAgICAgc2l6ZV90IHN0cmlkZVlaID0gKHNpemVfdClZKlosIHN0cmlkZU5aID0gKHNpemVfdClOWSpOWjsKICAgICAgICBmb3IoaW50IHB4PTA7cHg8WDsrK3B4KXsKICAgICAgICAgICAgZm9yKGludCBweT0wO3B5PFk7KytweSl7CiAgICAgICAgICAgICAgICBzaXplX3QgYmFzZSA9IChzaXplX3QpcHgqc3RyaWRlWVogKyAoc2l6ZV90KXB5Klo7CiAgICAgICAgICAgICAgICBhdXRvICZWWCA9IFRYW3B4XTsgYXV0byAmVlkgPSBUWVtweV07CiAgICAgICAgICAgICAgICBmb3IoaW50IHB6PTA7cHo8WjsrK3B6KXsKICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2YWwgPSBkcFtiYXNlICsgcHpdOwogICAgICAgICAgICAgICAgICAgIGlmKCF2YWwpIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgIGF1dG8gJlZaID0gVFpbcHpdOwogICAgICAgICAgICAgICAgICAgIGZvciAoYXV0byBbaXgsIGV4XTogVlgpewogICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgYmFzZVggPSAoc2l6ZV90KWl4KnN0cmlkZU5aOwogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGF1dG8gW2l5LCBleV06IFZZKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBiYXNlWSA9IGJhc2VYICsgKHNpemVfdClpeSpOWjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoYXV0byBbaXosIGV6XTogVlopewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGFkZCA9ICh1aW50MzJfdCkoKCh1aW50NjRfdCl2YWwgKiAoZXggKyBleSArIGV6ICsgMSkpICYgTUFTSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgJmNlbGwgPSBuZHBbYmFzZVkgKyBpel07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VsbCArPSBhZGQ7IGNlbGwgJj0gTUFTSzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZHAuc3dhcChuZHApOwogICAgICAgIHZ4LnN3YXAobngpOyB2eS5zd2FwKG55KTsgdnouc3dhcChueik7CiAgICB9CgogICAgdWludDMyX3QgYW5zID0gMDsKICAgIGZvciAodWludDMyX3QgdjogZHApeyBhbnMgKz0gdjsgYW5zICY9IE1BU0s7IH0KICAgIGNvdXQgPDwgYW5zIDw8ICdcbic7CiAgICByZXR1cm4gMDsKfQo=