
function days (d:dt):integer;
function d_ (y,m,d:integer):longint;
begin
if m<3 then begin dec (y); inc (m,12); end;
d_:=round(int (y*365.25)+int ((m+1)*30.601)+d-int(y/100)+int (y/400));
end;
var r:integer;
begin
r:=28; while d_(d.y,d.m,r)<d_(d.y, d.m+1,1) do inc( r );
days:=r-1;
end;