#include <bits/stdc++.h>
using namespace std;
long long a, b, c, l;
long long Min(long long a, long long b) {
  if (a > b)
    return b;
  else
    return a;
}
int main() {
  cin >> a >> b >> c >> l;
  long long ans = (l + 1) * (l + 2) * (l + 3) / 6, Max = a + b + c + l;
  for (long long i = a; i <= l + a; i++)
    if (b + c > i)
      continue;
    else
      ans -= (Min(i, Max - i) - b - c + 2) * (Min(i, Max - i) - b - c + 1) / 2;
  for (long long i = b; i <= l + b; i++)
    if (a + c > i)
      continue;
    else
      ans -= (Min(i, Max - i) - a - c + 2) * (Min(i, Max - i) - a - c + 1) / 2;
  for (long long i = c; i <= l + c; i++)
    if (a + b > i)
      continue;
    else
      ans -= (Min(i, Max - i) - a - b + 2) * (Min(i, Max - i) - a - b + 1) / 2;
  cout << ans << endl;
  return 0;
}
