program szilveszter;
var
ev, ho, nap, ora, perc, mp : integer;
procedure beker(var a : integer; b : string; min, max : integer);
var
i : boolean;
begin
i := false;
repeat
write(b , ' jelenleg: ');
readln(a);
i := false;
if a in [min..max] then i := true;
until i = true;
end;
procedure ido_beker;
begin
beker(ev,'Ev',1900,2100);
beker(ho,'Honap',1,12);
case ho of
1,3,5,7,8,10,12 : beker(nap,'Nap',1,31);
4,6,9,11:beker(nap,'Nap',1,30);
2 : begin
if ev mod 4 = 0 then begin
if ev = 2000 then beker(nap,'Nap',1,28) else beker(nap,'Nap',1,29);
end else beker(nap,'Nap',1,28);
end;
end;
beker(ora,'Ora',0,23);
beker(perc,'Perc',0,59);
beker(mp,'Masodperc',0,59);
end;
begin
ido_beker;
{ nap_kiad; }
end.