program eje10;
uses crt;
function valido(d,m,a:integer):boolean;
begin
if (m>0) and (m<13) then
begin
case (m) of
1,3,5,8,10,12: if (d>0) and (d<=31) then
valido:=True
else
valido:=False;
2: if (a mod 4=0) and (a mod 100<>0) then
begin
if (d>0) and (d<=29) then
valido:=True
else
valido:=False;
end
else
begin
if (a mod 4=0) and (a mod 100=0) then
if (d>0) and (d<=28) then
valido:= true
else
valido:= false;
end;
4,6,7,9,11:
if (d>0) and (d<=30) then
valido:=True
else
valido:=False;
else
valido:=false;
end;
end;
end;
var
d,m,a:integer;
begin
writeln ('ingrese un dia');
readln (d);
writeln ('ingrese un mes');
readln (m);
writeln ('ingrese un ano');
readln (a);
writeln ('la fecha es: ',valido(d,m,a));
end.