#include <bits/stdc++.h>
using namespace std;
long long v[3], l, ans, minusVal;
long long accSum(long long limit) {
  return (limit + 1LL) * (limit + 2LL) / 2LL;
}
long long invalidCase(long long a, long long b, long long c) {
  long long ret = 0LL;
  for (long long i = 0LL; i <= l; i++) {
    long long val = min(c - a - b + i, l - i);
    if (val >= 0LL) ret += accSum(val);
  }
  return ret;
}
int main() {
  scanf("%lld %lld %lld %lld", &v[0], &v[1], &v[2], &l);
  ans = (l + 1LL) * (l + 2LL) * (l + 3LL) / 6LL;
  ans -= invalidCase(v[2], v[1], v[0]);
  ans -= invalidCase(v[0], v[2], v[1]);
  ans -= invalidCase(v[0], v[1], v[2]);
  printf("%lld\n", ans);
  return 0;
}
