#include
#include
using namespace std;
struct v { //wspolrzedna
int w; //wartosc
int p; //numer prostokata
};
bool cmp (v w1, v w2) { //funkcja potrzebna do posortowania
return (w1.w < w2.w);
}int main()
{
v x[4];
v y[4];
cin >> x[0].w >> y[0].w >> x[1].w >> y[1].w;
cin >> x[2].w >> y[2].w >> x[3].w >> y[3].w;
for(int i = 0; i < 4; i++)
x[i].p = y[i].p = i/2;
sort(x, x+4, cmp);
sort(y, y+4, cmp);
int res = 0;
if(x[0].p != x[1].p && y[0].p != y[1].p)
res = (x[2].w - x[1].w)*(y[2].w-y[1].w);
cout << res << endl;
}