#include <bits/stdc++.h>
using namespace std;
long long ans;
int n, m, s;
void check(int a, int b, int c, int d) {
  int current = (a * 2 + 1) * (b * 2 + 1) + (c * 2 + 1) * (d * 2 + 1) -
                min(a * 2 + 1, c * 2 + 1) * min(b * 2 + 1, d * 2 + 1);
  if (current != s) {
    return;
  }
  int cnt = (n - max(a * 2, c * 2)) * (m - max(b * 2, d * 2));
  ans += cnt;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n >> m >> s;
  for (int a = 0; a * 2 + 1 <= n; a++) {
    for (int b = 0; b * 2 + 1 <= m; b++) {
      int area = (a * 2 + 1) * (b * 2 + 1);
      if (area > s) {
        continue;
      }
      if (area == s) {
        int cnt = (n - a * 2) * (m - b * 2);
        ans += 1LL * cnt * (a + 1) * (b + 1);
        continue;
      }
      for (int c = 0; c * 2 + 1 <= n; c++) {
        int d = b;
        check(a, b, c, d);
        if ((a < c) && (s - area) % ((c * 2 + 1) - (a * 2 + 1)) == 0) {
          d = (s - area) / (c * 2 + 1 - min(c * 2 + 1, a * 2 + 1));
          if (d > 0) {
            d = (d - 1) / 2;
            if (d < b) {
              check(a, b, c, d);
            }
          }
        }
        if ((s - area + min(a * 2 + 1, c * 2 + 1) * (b * 2 + 1)) %
                (c * 2 + 1) ==
            0) {
          d = (s - area + min(a * 2 + 1, c * 2 + 1) * (b * 2 + 1)) /
              (c * 2 + 1);
          if (d > 0) {
            d = (d - 1) / 2;
            if (d > b && d * 2 + 1 <= m) {
              check(a, b, c, d);
            }
          }
        }
      }
    }
  }
  cout << ans << "\n";
  return 0;
}
