#include <bits/stdc++.h>
using namespace std;
const int max_n = 510;
const int max_m = 510;
int n, m, s;
long long res;
int mf(int x, int y) {
  assert(x <= n and y <= m);
  return ((n - x + 1) * (m - y + 1));
}
int main() {
  scanf("%d%d%d", &n, &m, &s);
  int tnum, tden, d;
  res = 0;
  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) {
        if (c <= a) {
          if ((2 * a + 1) * (2 * b + 1) == s)
            res += ((long long)((b + 1) * mf(2 * a + 1, 2 * b + 1)));
          tnum = s - (2 * a + 1) * (2 * b + 1);
          tden = 2 * (2 * c + 1);
          if (tnum >= 0 and tnum % tden == 0) {
            d = (tnum / tden) + b;
            if (b < d and d <= (m - 1) / 2)
              res += ((long long)(mf(2 * a + 1, 2 * d + 1)));
          }
        } else {
          tnum = s - 2 * b * (2 * a + 1) - (2 * c + 1);
          tden = 4 * (c - a);
          if (tnum >= 0 and tnum % tden == 0) {
            d = tnum / tden;
            if (0 <= d and d < b)
              res += ((long long)(mf(2 * c + 1, 2 * b + 1)));
          }
          tnum = s;
          tden = 2 * c + 1;
          if (tnum % tden == 0 and (tnum / tden - 1) % 2 == 0) {
            d = (tnum / tden - 1) / 2;
            if (b <= d and d <= (m - 1) / 2)
              res += ((long long)(mf(2 * c + 1, 2 * d + 1)));
          }
        }
      }
    }
  }
  cout << res << endl;
}
