function prusecik(ii,jj:integer):boolean;
var t,s: real;
d1x,d2x,d1y,d2y,dx,dy,d:
real;
begin
prusecik:=false;
d1x:=x[ii,2]-x[ii,1];
d1y:=y[ii,2]-y[ii,1];
d2x:=x[jj,2]-x[jj,1];
d2y:=y[jj,2]-y[jj,1];
dx:=x[ii,1]-x[jj,1];
dy:=y[ii,1]-y[jj,1];
d:=d1x*d2y-d1y*d2x;
if (d<>0) then begin
s:=(d1x*dy-d1y*dx)/d;
t:=(d2x*dy-d2y*dx)/d;
prusecik:=(s>=0)and(s<=1)and(t>=0)and(t<=1);
exit;
end;
if ((dy*d1x)=(dx*d1y)) then
writeln('program nedodelan
pro usecky lezici v primce');
end;
begin
{nacteni dat}
assign(f,'vstup.txt');
reset(f);
i:=1;
repeat
readln(f,x[i,1],y[i,1],x[i,2],y[i,2]);
i:=i+1;
until eof(f);
close(f);
n:=i-1;
{ write('dvojice usecek:');
readln(i,j);
write('prusecik: ',prusecik(i,j));
readln;
writeln('=====================================');}
{hledani poctu otvoru}
for i:=1 to n do a[i]:=i;
j1:=1; j2:=1;
k:=n; l:=0;
while k>0 do
if j1=j2 then begin
b[j2]:=a[k];
k:=k-1;
j2:=j2+1;
l:=l+1
end
else begin
i:=1;
while i<=k do begin
if prusecik(b[j1],a[i]) then begin
b[j2]:=a[i];
j2:=j2+1;
a[i]:=a[k];
k:=k-1;
end;
i:=i+1
end;
j1:=j1+1
end;
writeln('pocet otvoru: ',l);
readln;
writeln('=====================================')
end.