#include <stdio.h>
void swap(double *x, double *y) {
double t;
t = *x;
*x = *y;
*y = t;
}
int
main(int argc, char **argv) {
double x1, y1, x2, y2, x3, y3, x4, y4;
double width_from, width_to, height_from, height_to;
freopen("in.txt", "r", stdin);
while (scanf("%lf%lf%lf%lf%lf%lf%lf%lf",
&x1, &y1,
&x2, &y2,
&x3, &y3,
&x4, &y4) != EOF) {
if (x1 > x2) swap(&x1, &x2);
if (y1 > y2) swap(&y1, &y2);
if (x3 > x4) swap(&x3, &x4);
if (y3 > y4) swap(&y3, &y4);
width_from = (x1 > x3 ? x1 : x3);
width_to = (x2 > x4 ? x4 : x2);
height_from = (y1 > y3 ? y1 : y3);
height_to = (y2 > y4 ? y4 : y2);
if (width_to - width_from < 0 || height_to - height_from < 0) {
printf("0.00\n");
}
else printf("%.2lf\n", (width_to - width_from) * (height_to - height_from));
}
return 0;
}