ďakujem. Narazil som na dalsiu chybu. po vytvorení tohto programu na podmienky alebo cykli nevyznam sa v tom este

mi nejde subor kompilovat kvôli prvemu end
Kód:
program podmienky;
uses Classes;
var
a,r,b : byte;
d,dd,o,s : word;
begin
writeln('Pre vypocet obsahu a obvodu stvorca napis 1.');
readln(r);
writeln('Pre vypocet obsahu a obvodu obdlznika napis 2.');
readln(b);
writeln('Pre ukoncenie programu napis 3.');
readln(a);
end;
begin
repeat until r = 1;
writeln('Zvolili ste si obvod a obsah stvorca.');
write('Zadajte dlzku strany: ');
readln(d);
O := 4 * d;
S := a * d;
writeln('Obvod je ',o,' centimetrov Obsah je ',s,' centimetrov stvorcovych.');
readln;
end;
begin
repeat until b = 2;
writeln('Zvolili ste si obvod a obsah obdlznika.');
write('Zadajte dlzku strany a: ');
readln(d);
write('Zadajte dlzku strany b: ');
readln(dd);
O := 2 *(d+dd);
S := d * dd;
writeln('Obvod je ',o,' centimetrov Obsah je ',s,' centimetrov stvorcovych.');
readln;
end;
begin
repeat until a = 3;
repeat
writeln('Pre potvrdenie vypnutia programu stlacte lubovolnu klavesu');
readln;
until keypressed;
end.