#include<iostream>
using namespace std;
double max(double a,double b)
{
if(a>b)
return a;
else
return b;
}
double min(double a,double b)
{
if(a<b)
return a;
else
return b;
}
int main()
{
double minx1,miny1,maxx1,maxy1,minx2,miny2,maxx2,maxy2,minx,miny,maxx,maxy,res;
while(cin>>minx1>>miny1>>maxx1>>maxy1>>minx2>>miny2>>maxx2>>maxy2)
{
if(minx1>maxx1)
swap(minx1,maxx1);
if(miny1>maxy1)
swap(miny1,maxy1);
if(minx2>maxx2)
swap(minx2,maxx2);
if(miny2>maxy2)
swap(miny2,maxy2);
minx=max(minx1,minx2);
miny=max(miny1,miny2);
maxx=min(maxx1,maxx2);
maxy=min(maxy1,maxy2);
if(minx>maxx||miny>maxy)
res=0;
else
res=(maxx-minx)*(maxy-miny);
printf("%.2f\n",res);
}
}