program elektroninis_laikrodis;
  { 116 u‘davinys }

  procedure pag (skaitmuo: integer; var hor, ver: integer);
  { randa horizontali— ir vertikali— pagaliuk— skai‡i— skiatmenyje }
  begin
    case skaitmuo of
      0: hor := hor + 2;
      2, 3, 5, 6, 8, 9: hor := hor + 3;
      4, 7: hor := hor + 1;
    end;
    case skaitmuo of
      0, 8: ver := ver + 4;
      1, 2, 3, 5, 7: ver := ver + 2;
      4, 6, 9: ver := ver + 3;
    end
  end; { pag }

  procedure laikas (pagh, pagv: integer; { pagaliuk— skai‡iai }
                    var v, min: integer);
  { randa laikrod‘io rodom… laik… }
    var hor_v, hor_m, ver_v, ver_m: integer;
        rasta: boolean;
  begin
    rasta := false;
    v := -1; min := -1; { prad‚sime nuo 0 val., 0 min. }
    while (v < 23) and not rasta do
      begin
        v := v + 1;
        { randame pagaliuk— skai‡i— valandoms }
        hor_v := 0; ver_v := 0;
        if v > 10
           then pag (v div 10, hor_v, ver_v);
        pag (v mod 10, hor_v, ver_v);
        while (min < 59) and not rasta do
          begin
            min := min + 1;
            { randame pagaliuk— skai‡i— minut‚ms }
            hor_m := 0; ver_m := 0;
            pag (min div 10, hor_m, ver_m);
            pag (min mod 10, hor_m, ver_m);
            { tinkam… laik… spausdiname }
            rasta := (hor_v + hor_m = pagh) and (ver_v + ver_m = pagv)
          end;
        if not rasta then min := -1
      end
  end; { laikas }

  var pagh, pagv, v, min: integer;
begin
  write ('­veskite horizontali— ir vertikali— pagaliuk— skai‡i—: ');
  readln (pagh, pagv);
  laikas (pagh, pagv, v, min);
  writeln (v, ' : ', min);
end.

