#include <bits/stdc++.h>
using namespace std;
int n, m, s;
int g, h;
long long xs;
long long calc(int a, int b, int c, int d) {
  g = max(a, c);
  h = max(b, d);
  return (long long)(n - g * 2) * (long long)(m - h * 2);
}
long long c2(int a, int b, int c) {
  g = max(a, c);
  xs = (long long)(b);
  return (long long)(n - g * 2) * ((long long)(m - b * 2) * xs);
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> n >> m >> s;
  int d, e, f, tdp1;
  int he, hh;
  long long res = 0LL;
  long long pres = 0LL;
  for (int a = 0; a <= (n - 1) / 2; a++) {
    for (int b = 0; b <= (m - 1) / 2; b++) {
      for (int c = 0; c <= (n - 1) / 2; c++) {
        pres = res;
        e = min(a, c);
        he = (2 * a + 1) * (2 * b + 1);
        hh = he;
        f = b;
        he -= (2 * e + 1) * (2 * f + 1);
        if ((s - he) % (2 * c + 1) != 0) goto dd;
        tdp1 = (s - he) / (2 * c + 1);
        if (tdp1 > 0 && tdp1 % 2 == 1) {
          d = (tdp1 - 1) / 2;
          if (d <= (m - 1) / 2 && d >= b) res += calc(a, b, c, d);
        }
      dd:;
        he = hh;
        if (c != e && (s - he) % (2 * c - 2 * e) == 0) {
          tdp1 = (s - he) / (2 * c - 2 * e);
          if (tdp1 > 0 && tdp1 % 2 == 1) {
            d = (tdp1 - 1) / 2;
            if (d <= (m - 1) / 2 && d < b) res += calc(a, b, c, d);
          }
        } else if (c == e && he == s) {
          res += c2(a, b, c);
        }
      }
    }
  }
  cout << res << endl;
  return 0;
}
