var xy:array [1..4,1..2] of integer; kp:array [1..2,1..2] of real; i:byte; x,y:real; g,f:text; Procedure CheckRule; Begin If (xy[1,1]=xy[2,1]) and (xy[3,1]<>xy[4,1]) then Begin kp[1,2]:=(xy[3,2]-xy[4,2])/(xy[3,1]-xy[4,1]); kp[2,2]:=xy[3,2]-kp[1,2]*xy[3,1]; x:=xy[1,1]; y:=kp[1,2]*x+kp[2,2]; End else If (xy[3,1]=xy[4,1]) and (xy[1,1]<>xy[2,1]) then Begin kp[1,1]:=(xy[1,2]-xy[2,2])/(xy[1,1]-xy[2,1]); kp[2,1]:=xy[1,2]-kp[1,1]*xy[1,1]; x:=xy[3,1]; y:=kp[1,1]*x+kp[2,1]; End else If (xy[1,1]<>xy[2,1]) and (xy[4,1]<>xy[4,2]) then Begin kp[1,1]:=(xy[1,2]-xy[2,2])/(xy[1,1]-xy[2,1]); kp[2,1]:=xy[1,2]-kp[1,1]*xy[1,1]; kp[1,2]:=(xy[3,2]-xy[4,2])/(xy[3,1]-xy[4,1]); kp[2,2]:=xy[3,2]-kp[1,2]*xy[3,1]; x:=(kp[2,2]-kp[2,1])/(kp[1,1]-kp[1,2]); y:=kp[1,1]*x+kp[2,1]; End; End; Begin Assign(f,'input.txt'); Reset(f); For i:=1 to 4 do ReadLn(f,xy[i,1],xy[i,2]); Close(f); CheckRule; Assign(g,'output.txt'); ReWrite(g); If (Abs((x-xy[1,1])/(xy[2,1]-xy[1,1]))<1) and (Abs((x-xy[3,1])/(xy[4,1]-xy[3,1]))<1) then WriteLn(g,'Intersect') else WriteLn(g,'Do not intersect'); Close(g); End.