var

  d, m, g : integer;

  prestupna : boolean;

  ulaz, izlaz : Text;

begin

  Assign(ulaz, ‘datum.in’); Assign(izlaz, ‘datum.out’);

  Reset(ulaz); Rewrite(izlaz);

 

  Read(ulaz, d, m, g);

  prestupna := (g mod 400 = 0) or ((g mod 4 = 0) and (g mod 100 <> 0));

 

  d := d + 1;

 

  if((d = 29) and (m = 2) and not prestupna) or

    ((d = 30) and (m = 2) and prestupna) or

    ((d = 31) and ((m = 4) or (m = 6) or (m = 9) or (m = 11))) or

    (d = 32) then

    begin

      d := 1;

      m := m + 1;

    end;

  if(m = 13) then

    begin

      m := 1;

      g := g + 1;

    end;

 

  WriteLn(izlaz, d:3, m:3, g:5);

 

  Close(ulaz);

  Close(izlaz);

end.

 

Test primeri

Ulaz (d, m, g)

Izlaz (d, m, g)

10 6 2003

11 06 2003

30 4 2000

1 5 2000

31 5 2000

1 6 2000

31 12 1999

1 1 2000

28 2 1999

1 3 1999

28 2 1900

1 3 1900

28 2 2000

29 2 2000

29 2 2004

1 3 2004