var i:integer;
procedure graf_rezim;
begin
     asm
     mov ah,0
     mov al,$13 {nastavenie rozlisenia 13-320x200x256; 12-640x480x16}
     int $10
     end;
end;
procedure bod(x,y:word;farba:byte);
begin
     asm
     mov ah,$0c {na interupte vie,ze ma nieco zapisovat}
     mov bh,0  {cislo stranky}
     mov cx,x {nova x-ova suradnica}
     mov dx,y {nova y-ova suradnica}
     mov al,farba {nastavenie farby}
     int $10 {prerusenie grafickej karty}
     end;
end;
procedure usecka(x1,y1,x2,y2:integer);
var x,y,p,pom,d:integer;
    menil:boolean;
begin
     pom:=0;
     menil:=false;
     if abs(x1-x2)<abs(y1-y2) then
     begin
          menil:=true;
          pom:=x1;
          x1:=y1;
          y1:=pom;
          pom:=x2;
          x2:=y2;
          y2:=pom;
      end;

     if x2<x1 then begin
          pom:=x1;
          x1:=x2;
          x2:=pom;
          pom:=y1;
          y1:=y2;
          y2:=pom;
                     end;
          if y2<y1 then d:=-1
                   else d:=1;
          x:=x1;
          y:=y1;
          p:=2*abs(y1-y2)-abs(x1-x2);
          if menil=true then bod(y,x,1)
                        else bod(x,y,1);
            for x:=(x1+1) to x2 do
            begin
                 if p>0 then
                 begin
                      y:=y+d;
                      p:=p+2*abs(y1-y2)-2*abs(x1-x2);
                 end
                 else
                     p:=p+2*abs(y1-y2);
                     if menil=true then bod(y,x,1) else
                     bod(x,y,1);
            end;

end;
begin
     graf_rezim;
     for i:=0 to 1000 do
     usecka(160,100,round(100*cos(i*pi/500))+160,round(100*sin(i*pi/500))+100);
     readln;
end.