#include <bits/stdc++.h>
using namespace std;
void addmod(int &a, long long b) {
  a = (a + b);
  if (a >= 1000000007) a -= 1000000007;
}
void mulmod(int &a, long long b) { a = (a * b) % 1000000007; }
template <class T>
bool domin(T &a, const T &b) {
  return a > b ? a = b, 1 : 0;
}
template <class T>
bool domax(T &a, const T &b) {
  return a < b ? a = b, 1 : 0;
}
int gi() {
  int a;
  scanf("%d", &a);
  return a;
}
long long gll() {
  long long a;
  scanf("%lld", &a);
  return a;
}
long long getn(long long x) {
  if (x < 0) return 0;
  return (x + 1) * (x + 2) / 2;
}
int main() {
  long long a = gi(), b = gi(), c = gi(), l = gi();
  long long tot = 0, ans = 0;
  tot = (l + 1) * (l + 2) * (l + 3) / 6LL;
  for (int x = 0; x <= l; x++) {
    long long la = min(a - b - c + x, l - x);
    ans += getn(la);
    long long lb = min(b - a - c + x, l - x);
    ans += getn(lb);
    long long lc = min(c - b - a + x, l - x);
    ans += getn(lc);
  }
  cout << (tot - ans) << endl;
  return 0;
}
