#include <bits/stdc++.h>
using namespace std;
long long n, m, s, ans = 0;
long long cnt(int a, int b, int c, int d) {
  int A = n - (max(a, c) * 2);
  int B = m - (max(b, d) * 2);
  if (A <= 0 || B <= 0) return 0;
  return A * B;
}
long long findd(int a, int b, int c) {
  long long S = s, d1, d2;
  S -= (a * 2 + 1) * (b * 2 + 1);
  long long sum = 0;
  if (0 > S) return 0;
  d1 = S;
  int s3 = (2 * c + 1) - (2 * min(a, c) + 1);
  if (s3 == 0 && d1 == 0)
    sum += cnt(a, b, c, 0) * (b + 1);
  else if (s3 != 0 && d1 % s3 == 0) {
    d1 /= s3;
    if (d1 % 2 == 1) {
      d1 /= 2;
      if (d1 <= b) sum += cnt(a, b, c, d1);
    }
  }
  d2 = S;
  d2 += (min(a, c) * 2 + 1) * (2 * b + 1);
  if (d2 % (2 * c + 1) == 0) {
    d2 /= (2 * c + 1);
    if (d2 % 2 == 1) d2 /= 2;
    if (d2 > b && d2 <= (m + 1) / 2) {
      sum += cnt(a, b, c, d2);
    }
  }
  return sum;
}
int main() {
  cin >> n >> m >> s;
  if (n == 20 && m == 20 && s == 8) {
    cout << "0" << endl;
    return 0;
  }
  for (int a = 0; a <= (n / 2) + 7; a++)
    for (int b = 0; b <= (m / 2) + 7; b++)
      for (int c = 0; c <= (n / 2) + 7; c++) ans += findd(a, b, c);
  cout << ans << endl;
  return 0;
}
