#include #define exrep(i, a, b) for(long long i = a; i <= b; i++) #define rep(i,n)for(long long i=0;i<(long long)(n);i++) #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() using namespace std; typedef unsigned long long ull; typedef long long ll; typedef long double ld; typedef pair P; typedef vector vl; typedef vector vs; typedef vector

vp; typedef vector > vvl; typedef vector > vvp; template inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; } const ll MOD=1e9+7; const ll INF=1e18; const int MAX=510000; const double pi=acos(-1); int dx[4]={1,0,-1,0}; int dy[4]={0,1,0,-1}; int main(){ cin.tie(0); ios::sync_with_stdio(false); int a,b,c,d; cin >> a >> b >> c >> d; int ans=(b-a+1)*(d-c+1); if(d<=a || b<=c) cout << ans << endl; else if(a<=c && d<=b) cout << ans-(d-c+1) << endl; else if(c<=a && b<=d) cout << ans-(b-a+1) << endl; else if(c<=a && a<=d && d<=b) cout << ans-(d-a+1) << endl; else cout << ans-(b-c+1) << endl; return 0; }