Congdat1234
include<stdio.h>
include<math.h>
define D double
define L long long
int g(D px,D py,D qx,D qy,D a,D b,Dl,Dh){
D mn=py<qy?py:qy,mx=py>qy?py:qy,ya,yb,t1,t2,x1,x2;
if(mx<=a||mn>=b)return 0;
ya=a>mn?a:mn;yb=b<mx?b:mx;
if(ya>=yb)return 0;
if(py==qy){l=px<qx?px:qx;*h=px>qx?px:qx;}
else{t1=(ya-py)/(qy-py);t2=(yb-py)/(qy-py);
x1=px+t1(qx-px);x2=px+t2*(qx-px);
*l=x1<x2?x1:x2;*h=x1>x2?x1:x2;}
return 1;}
int main(){
D ax,ay,bx,by,cx,cy,lo,hi,xl,xh;
scanf("%lf%lf%lf%lf%lf%lf",&ax,&ay,&bx,&by,&cx,&cy);
D mn=ay<by?ay:by;if(cy\<mn)mn=cy;
D mx=ay>by?ay:by;if(cy>mx)mx=cy;
L j,t=0;
for(j=(L)floor(mn);j<(L)ceil(mx);j++){
D a=j,b=j+1;lo=1e18;hi=-1e18;
if(g(ax,ay,bx,by,a,b,&xl,&xh)){if(xl<lo)lo=xl;if(xh>hi)hi=xh;}
if(g(bx,by,cx,cy,a,b,&xl,&xh)){if(xl<lo)lo=xl;if(xh>hi)hi=xh;}
if(g(cx,cy,ax,ay,a,b,&xl,&xh)){if(xl<lo)lo=xl;if(xh>hi)hi=xh;}
if(hi>lo)t+=(L)ceil(hi)-(L)floor(lo);}
printf("%lld\n",t);}