#include <bits/stdc++.h>
using namespace std;
const long long INF = 1E9;
long long rectangle(long long a, long long b, long long g, long long d,
                    long long lim) {
  if (a > b || g > d) return 0;
  long long tot = (b - a + 1) * (d - g + 1);
  long long mc = a + g - lim;
  if (mc < 0) tot -= mc * (mc - 1) / 2;
  long long md = a - d;
  if (md < 0) tot -= md * (md - 1) / 2;
  return tot;
}
long long calc(long long a, long long b, long long c, long long l) {
  long long alpha = a - b - c + 1;
  long long beta = l;
  long long gamma = c - b - a + 1;
  long long delta = c - b + a - 1;
  delta = min(delta, l);
  gamma = max(gamma, -l);
  alpha = max(alpha, 0LL);
  alpha = max(alpha, gamma);
  alpha = max(alpha, -delta);
  if (alpha > beta || gamma > delta) return 0;
  long long g1 = (gamma + 1 + 2 * INF) / 2 - INF,
            d1 = (delta + 2 * INF) / 2 - INF;
  long long g2 = (gamma + 2 * INF) / 2 - INF,
            d2 = (delta - 1 + 2 * INF) / 2 - INF;
  long long tot = rectangle((alpha + 1) / 2, beta / 2, g1, d1, 0);
  tot += rectangle(alpha / 2, (beta - 1) / 2, g2, d2, -1);
  return tot;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  long long a, b, c, l;
  cin >> a >> b >> c >> l;
  long long ans = 0;
  for (int i = 0; i <= l; i++) ans += calc(a + i, b, c, l - i);
  cout << ans << endl;
  return 0;
}
