#include <bits/stdc++.h>
using namespace std;
long long reparto(long long p, int n) {
  if (p < 0) return 0LL;
  long long ans = 1LL;
  for (int i = (0); i < (n - 1); i++) {
    ans *= (p + n - 1 - i);
    ans /= (i + 1);
  }
  return ans;
}
long long solve(long long a, long long b, long long c, long long l) {
  long long ans = 0;
  ans += reparto(l, 3);
  ans -= reparto(l - a - 1, 3);
  ans -= reparto(l - b - 1, 3);
  ans -= reparto(l - c - 1, 3);
  ans += reparto(l - a - b - 2, 3);
  ans += reparto(l - b - c - 2, 3);
  ans += reparto(l - c - a - 2, 3);
  ans -= reparto(l - a - b - c - 3, 3);
  return ans;
}
int main() {
  long long a, b, c, l;
  cin >> a >> b >> c >> l;
  long long ac = 0;
  for (int i = (0); i < (l + 1); i++) {
    long long sp = (a + b + c + i - 1) / 2;
    if (a > sp or b > sp or c > sp) continue;
    ac += solve(sp - a, sp - b, sp - c, i);
  }
  cout << ac << endl;
  return 0;
}
