#include #include using namespace std; int ABS(int a){return max(a,-a);} int main(){ int a,b,c,d,e;scanf("%d%d%d%d%d",&a,&b,&c,&d,&e); for(int i=0;i<20;i++){ int ab=0; if((long long)a*c>0)ab=min(ABS(a),ABS(c)); int bb=0; if((long long)b*d>0)bb=min(ABS(b),ABS(d)); a=max(a,-e+bb); b=max(b,-e+ab); c=min(c,e-bb); d=min(d,e-ab); //printf("%d %d %d %d\n",a,b,c,d); if(a>c||b>d){ printf("0\n");return 0; } } long long ret=(long long)(c-a+1)*(d-b+1); if(ABS(a)+ABS(b)>e){ int r=ABS(a)+ABS(b)-e; ret-=(long long)r*(r+1)/2; } if(ABS(a)+ABS(d)>e){ int r=ABS(a)+ABS(d)-e; ret-=(long long)r*(r+1)/2; } if(ABS(c)+ABS(b)>e){ int r=ABS(c)+ABS(b)-e; ret-=(long long)r*(r+1)/2; } if(ABS(c)+ABS(d)>e){ int r=ABS(c)+ABS(d)-e; ret-=(long long)r*(r+1)/2; } printf("%lld\n",ret); }