#include <bits/stdc++.h>
using namespace std;
int n, m, area;
long long ret = 0;
int main() {
  scanf("%d%d%d", &n, &m, &area);
  for (int i = 0; i <= n / 2; i++)
    for (int j = 0; j <= m / 2; j++)
      for (int k = 0; k <= n / 2; k++) {
        long long a = (2 * i + 1) * (2 * j + 1);
        int l;
        int mi = min(i, k);
        if (a == area && k <= i) {
          ret += (j + 1) * (n - (i * 2 + 1) + 1) * (m - (j * 2 + 1) + 1);
          continue;
        }
        if ((area + (mi * 2 + 1) * (2 * j + 1) - a) % (2 * k + 1) == 0) {
          if (((area + (mi * 2 + 1) * (2 * j + 1) - a) / (2 * k + 1) - 1) % 2 ==
              0) {
            l = ((area + (mi * 2 + 1) * (2 * j + 1) - a) / (2 * k + 1) - 1) / 2;
            if (l >= j) {
              if (n - (max(i, k) * 2 + 1) >= 0 && m - (max(j, l) * 2 + 1) >= 0)
                ret += (n - (max(i, k) * 2 + 1) + 1) *
                       (m - (max(j, l) * 2 + 1) + 1);
            }
          }
        }
        if (k != mi && (area - a) % (2 * k - 2 * mi) == 0) {
          if (((area - a) / (2 * k - 2 * mi) - 1) % 2 == 0) {
            l = ((area - a) / (2 * k - 2 * mi) - 1) / 2;
            if (l < j && l >= 0) {
              if (n - (max(i, k) * 2 + 1) >= 0 && m - (max(j, l) * 2 + 1) >= 0)
                ret += (n - (max(i, k) * 2 + 1) + 1) *
                       (m - (max(j, l) * 2 + 1) + 1);
            }
          }
        }
      }
  printf("%I64d\n", ret);
}
