func_code_string: #include <bits/stdc++.h>   using namespace std;   int a, b, c;   int f[2001 * 2001];   int _GCD[2001][2001];   int GCD(int a, int b) {     if (_GCD[a][b]) return _GCD[a][b];     if (!b) return a;     return _GCD[a][b] = GCD(b, a % b);   }   int phi(int x) {     if (x & 1) return -1;     return 1;   }   int main() {     cin >> a >> b >> c;     for (int j = (1); j <= (b); j++)       for (int k = (1); k <= (c); k++)         if (GCD(j, k) == 1) f[j * k] += (b / j) * (c / k);     for (int x = (1); x <= (b * c); x++)       for (int y = 2 * x; y <= b * c; y += x) f[x] += f[y];     int ans = 0;     for (int i = (1); i <= (a); i++) {       vector<int> L;       int x, y;       for (x = i, y = 2; y * y <= x; y++)         if (x % y == 0) {           L.push_back(y);           while (x % y == 0) x /= y;         }       if (x != 1) L.push_back(x);       for (int s = (0); s <= ((1 << int((L).size())) - 1); s++) {         int x = 1, cnt = 0;         for (int j = (0); j <= (int((L).size()) - 1); j++)           if ((s >> j) & 1) cnt++, x *= L[j];         ans += phi(cnt) * f[x] * (a / i);       }     }     cout << (ans % (1 << 30) + (1 << 30)) % (1 << 30);     return 0;   }   