CODE=12050

/*           **************************
             *          *
             *                        *
             *                        *
             *                        *
             **************************
*/


domains
       b,c,d,m,r,z,i,n,n1,ko,ob,pl=integer
        t,a,f,s,l,p,u,na,j=symbol
database -svod1
          svod1(a,b,c,d,f,m,t,r,s,l,p,u)
database -lolo
          lolo(a,b,c,d,f,m,t,r,s,l,p,u)
database -kuku
          kuku(a,b,c,d,f,m,t,r,s,l,p,u)
database
         svod(a,b,c,d,f,m,t,r,s,l,p,u)
        predicates

        start
        patch
        load
        select(i)
        sel(i,i)
        process(i)
        procedure(i)
        sve(i)
        lod(i)
        repeat


goal
        start.

clauses
/*楤 ᮧ ᭮   㧪  */
     start:-
      makewindow(1,10,0,"  ",0,0,25,80),
      clearwindow,
      load,
      patch.
/*楤 ࠢ ᭮ */
        patch:-
            repeat,
            cursor(7,0),
            write("                     0 -  pp...  "),nl,
            write("                     1 - ४ "),nl,
            write("                     2 - 㤠 "),nl,
            write("                     3 - ᬮ "),nl,
            write("                     4 - 㧪 "),nl,
            write("                     5 - ࠭ "),nl,
            write("                     6 - ᮧ  "),nl,
            write("                     7 -   "),nl,
            write("                     8 - ᬮ-"),nl,
            write("                     9 - 室  ணࠬ"),nl,
            write("                     =>"),
            readint(Choice),
            Choice >= 0,
            Choice < 10,
            clearwindow,
            process(Choice),
            clearwindow,
            Choice = 9,
            retractall(_),
            removewindow.
/*楤 ᪠  㧪 䠩 ᮤঠ饣  */
        load:-
            existfile("dima.dat"),
            consult("dima.dat"),
            cursor(1,2),
            write(" 㦥").
        load:-
            cursor(1,2),
            write("   ᪥").
/*p楤p   */
        process(7):-
        makewindow(1,2,7,"  ",0,0,25,80),
            nl,
            write("  ⮬    :"),readln(K),nl,
            write("  ᪠         :"),readint(O),nl,
            write("  ⥫     :"),readint(I),nl,
            write("           :"),readint(Y),nl,
            write(" 梥                :"),readln(T),nl,
            write(" ୮        :"),readint(FF),nl,
            write("  ᯮ      :"),readln(OO),nl,
            write("  ᯮ      :"),readint(YY),nl,
            write(" 䠬             :"),readln(KK),nl,
            write(" 樠       :"),readln(II),nl,
            write("                 o⢠   :"),readln(TT),nl,
            write(" ࠩ          :"),readln(HH),nl,
            N1=K,NA1=O,KO1=I,OB1=Y,PL1=T,FF1=FF,OO1=OO,
            YY1=YY,KK1=KK,II1=II,TT1=TT,HH1=HH,
      assertz(svod(N1,NA1,KO1,OB1,PL1,FF1,OO1,YY1,KK1,II1,TT1,HH1)),
            removewindow,
            fail.
/*楤 ᬮ-*/
         process(8):-
         makewindow(1,2,7,"ᬮ-",0,0,25,80),
         nl,
         write("  ⮬:"),readln(A),nl,nl,
         svod(KY,NA,KO,OB,PL,N,OOO,YYY,KKK,III,TTT,HHH),
         A=KY,
         write("ઠ ⮬    :"),write(A),nl,
         write(" ᪠         :"),write(NA),nl,
         write(" ⥫     :"),write(KO),nl,
         write("          :"),write(OB),nl,
         write(" ⮬     :"),write(PL),nl,
         write("୮        :"),write(N),nl,
         write("C ᯮ      :"),write(OOO),nl,
         write(" ᯮ      :"),write(YYY),nl,
         write("             :"),write(KKK),nl,
         write("樠       :"),write(III),nl,
         write("         ⢠   :"),write(TTT),nl,
         write("ࠩ          :"),write(HHH),nl, nl,nl,
         write("   "),
         readchar(_),
         removewindow,
         !.
         process(8):-
write("⮩ ન ⮬   ."),
write("   ⮬ "),
write(" த  "),nl,nl,nl,
write("  ⮬:"),
         readln(A),nl,
         A=N1,
         write("  ᪠         :"),readint(F),nl,
         write("  ⥫     :"),readint(Y),nl,
         write("           :"),readint(J),nl,
         write(" 梥                :"),readln(G),nl,
         write(" ୮        :"),readint(FFFF),nl,
         write("  ᯮ      :"),readln(OOOO),nl,
         write("  ᯮ      :"),readint(IIII),nl,
         write(" 䠬             :"),readln(KKKK),nl,
         write(" 樠       :"),readln(TTTT),nl,
         write("                 ⢠   :"),readln(MMMM),nl,
         write(" ࠩ          :"),readln(GGGG),nl,

         NA1=F,KO1=Y,OB1=J,PL1=G,FF1=FFFF,OO1=OOOO,
         YY1=IIII,KK1=KKKK,II1=TTTT,TT1=MMMM,HH1=GGGG,
      assertz(svod(N1,NA1,KO1,OB1,PL1,FF1,OO1,YY1,KK1,II1,TT1,HH1)),
         removewindow,
         fail.

/*p楤p 뢮   pp*/
         process(0):-
         makewindow(1,2,7," pp...",0,0,25,80),
write("                     p樮-p筠 ⥬"),nl,nl,
write("                      -孨᪨ ᯮ ⮫⥫."),
nl,nl,
write("                        -TURBO-PROLOG v.2.0.     "),nl,nl,
write("                            p:    "),nl,nl,
write("                      , p. -1-95  () 1996  . "),
nl,nl,nl,nl,
write("   "),
         readchar(_),
         removewindow.

/*楤  ᮤন ᥩ  */
        process(1):-
        makewindow(1,2,7,"pp ",0,0,25,80),
            nl,
            select(N),
            RR=N,
            svod(KY,NA,KO,OB,PL,RR,OOO,YYY,KKK,III,TTT,HHH),
            write("ઠ ⮬       :"),write(KY),nl,
            write(" ᪠            :"),write(NA),nl,
            write(" ⥫        :"),write(KO),nl,
            write("             :"),write(OB),nl,
            write(" ⮬        :"),write(PL),nl,
            write("୮           :"),write(RR),nl,
            write(" ᯮ         :"),write(OOO),nl,
            write(" ᯮ         :"),write(YYY),nl,
            write("                :"),write(KKK),nl,
            write("樠          :"),write(III),nl,
            write("         o⢠      :"),write(TTT),nl,
            write("             :"),write(HHH),nl,
                        nl,
            write("  ⮬    :"),readln(N1),nl,
            write("  ᪠         :"),readint(NA1),nl,
            write("  ⥫     :"),readint(KO1),nl,
            write("           :"),readint(OB1),nl,
            write(" 梥                :"),readln(PL1),nl,
            write(" ୮        :"),readint(RR1),nl,
            write("  ᯮ      :"),readln(OO1),nl,
            write("  ᯮ      :"),readint(YY1),nl,
            write(" 䠬             :"),readln(KK1),nl,
            write(" 樠       :"),readln(II1),nl,
            write("                 ⢠   :"),readln(TT1),nl,
            write(" ࠩ          :"),readln(HH1),nl,

          retract(svod(KY,NA,KO,OB,PL,RR,OOO,YYY,KKK,III,TTT,HHH)),
       assert(svod(N1,NA1,KO1,OB1,PL1,RR1,OO1,YY1,KK1,II1,TT1,HH1)),
            !,
            removewindow.


/*楤 㤠 ᥩ   */
        process(2):-
            makewindow(1,2,7," ᥩ",0,0,25,80),
            nl,
            select(N),
            X=N,
            svod(KY,NA,KO,OB,PL,X,OOO,YYY,KKK,III,TTT,HHH),
            retract(svod(KY,NA,KO,OB,PL,X,OOO,YYY,KKK,III,TTT,HHH)),!,
            removewindow.

/*楤 ᬮ ᮤন  */
        process(3):-
        makewindow(1,2,7,"ᬮp ",0,0,25,80),
        nl,
write("ͻ"),
write("                           "),
write("͹"),
write("ઠ   No    No      -ᯮ        "),
write(". --ᨺ梥   ͹ࠩ"),
write("     ᪠   ⥫            No     "),
write("͹"),
           svod(KY,NA,KO,OB,PL,N,OOO,YYY,KKK,III,TTT,HHH),
            cursor(Z,_),
            cursor(Z,0),write(KY),
            cursor(Z,8),write(NA),
            cursor(Z,16),write(KO),
            cursor(Z,26),write(OB),
            cursor(Z,32),write(PL),
            cursor(Z,39),write(N),
            cursor(Z,46),write(OOO),
            cursor(Z,52),write(YYY),
            cursor(Z,58),write(KKK),
            cursor(Z,66),write(III),
            cursor(Z,68),write(TTT),
            cursor(Z,70),write(HHH),
            nl,
            fail.
        process(3):-
write("ͼ
nl,
write("   "),
           readchar(_),
            removewindow.

/*楤 㧪    */
        process(4):-
            nl,
            makewindow(2,15,4,"㧪",5,5,20,70),
            write("1 -  㤥 㦥  㪠 䠩"),nl,
            write("2 -  㤥 㦥  䠩 dima.dat"),nl,
            write("3 - 室  ᭮ "),nl,
            write("==>"),
            readint(C),
            C>0,C<4,
            lod(C),
            !,
            removewindow.
/*楤 ࠭  */
        process(5):-
            nl,
            makewindow(2,15,4,"",5,5,20,70),
            write("1 -  㤥 ᠭ  㪠 䠩"),nl,
            write("2 -  㤥 ᠭ  䠩 dima.dat"),nl,
            write("3 - 室  ᭮ "),nl,
            write("==>"),
            readint(I),
            I>0,I<4,
            sve(I),!,
            removewindow.
 /*楤 롮 ᮧ  */
        process(6):-
            nl,
            makewindow(3,2,7,"  ",0,0,25,80),
            write("1 -  㤥 ᮧ  થ ⮬ "),nl,
            write("2 -  㤥 ᮧ   ᪠"),nl,
            write("3 -  㤥 ᮧ  梥"),nl,
            write("4 - 室  ᭮ "),nl,
            write("==>"),
            readint(O),
            O>0,O<5,
            procedure(O),
            removewindow.
            process(_).

/*楤 ᮧ      ࠭*/
        procedure(1):-
makewindow(1,2,7,"    થ ⮬",0,0,25,80),
            nl,
            cursor(7,10),
            retractall(_,svod1),
            nl,
            write("᫨   㧭   ⮬e , "),
            nl,
            write("  ⮬:"),
            readln(X),
            svod(KY,NA,KO,OB,PL,N,OOO,YYY,KKK,III,TTT,HHH),
            S=KY,
            S=X,
            NA1=NA,KO1=KO,OB1=OB,PL1=PL,FF1=N,OO1=OOO,YY1=YYY,
            KK1=KKK,II1=III,TT1=TTT,HH1=HHH,
       assert(svod1(S,NA1,KO1,OB1,PL1,FF1,OO1,YY1,KK1,II1,TT1,HH1)),
            fail.

        procedure(1):-
write(" ᮧ"),nl,
write("ͻ"),
write("                TEX           "),
write("͹"),
write("ઠ   No    No      - ᯮ!       "),
write(". --ᨺ梥   ͹ࠩ"),
write("      ᪠  ⥫            No     "),
write("͹"),
            svod1(S,NA,KO,OB,PL,N,OOO,YYY,KKK,III,TTT,HHH),
            cursor(Z,_),
            cursor(Z,0),write(S),
            cursor(Z,8),write(NA),
            cursor(Z,16),write(KO),
            cursor(Z,26),write(OB),
            cursor(Z,32),write(PL),
            cursor(Z,39),write(N),
            cursor(Z,46),write(OOO),
            cursor(Z,52),write(YYY),
            cursor(Z,58),write(KKK),
            cursor(Z,66),write(III),
            cursor(Z,68),write(TTT),
            cursor(Z,70),write(HHH),
            nl,
            fail.

        procedure(1):-
write(""),
            save("not.dat",svod1), nl,
            write("  ࠭   䠩  not.dat"),
            nl, write("        "),
            readchar(_), removewindow,
            !.

        procedure(1):-
write(""),
            nl, write(" ࠭ ᮧ "),
            nl,  write("    "),   readchar(_),
       makewindow(1,2,7,"  ",0,0,25,80).

            procedure(2):-
    makewindow(1,2,7,"     ᪠",0,0,25,80),
            nl,
            cursor(7,10),
            retractall(_,lolo),
            nl,
write("᫨   㧭    ᪠ , "),nl,
write(" :"),
            readint(X),
            svod(KY,NA,KO,OB,PL,N,OOO,YYY,KKK,III,TTT,HHH),
            S=NA,
            S=X,
            N1=KY,KO1=KO,OB1=OB,PL1=PL,FF1=N,OO1=OOO,YY1=YYY,
            KK1=KKK,II1=III,TT1=TTT,HH1=HHH,
           assert(lolo(N1,S,KO,OB1,PL1,FF1,OO1,YY1,KK1,II1,TT1,HH1)),
            fail.

        procedure(2):-
write(" ᮧ"),nl,
write("ͻ"),
write("                           "),
write("͹"),
write("ઠ   No    No      -ᯮ   ࠩ"),
write(".--ᨺ梥   ͹     "),
write("      ᪠  ⥫            No     "),
write("ͺ͹"),
            lolo(KY,S,KO,OB,PL,N,OOO,YYY,KKK,III,TTT,HHH),
            cursor(Z,_),
            cursor(Z,0),write(KY),
            cursor(Z,8),write(S),
            cursor(Z,16),write(KO),
            cursor(Z,26),write(OB),
            cursor(Z,32),write(PL),
            cursor(Z,39),write(N),
            cursor(Z,46),write(OOO),
            cursor(Z,52),write(YYY),
            cursor(Z,58),write(KKK),
            cursor(Z,66),write(III),
            cursor(Z,68),write(TTT),
            cursor(Z,70),write(HHH),
            nl,
            fail.

        procedure(2):-
write(""),
            save("not1.dat",lolo),
            nl,
            write(" ࠭  䠩 not1.dat"),
            nl,
            write("  "),
            readchar(_),
            removewindow,
            !.

        procedure(2):-
write(""),
            nl,
            write(" ࠭ ᮧ "),
            nl,
            write("  "),
            readchar(_),
        makewindow(1,2,7,"  ",0,0,25,80).

        procedure(3):-
makewindow(1,2,7,"    梥 ⮬",0,0,25,80),
            nl,
            cursor(7,10),
            retractall(_,kuku),
            nl,
   write("᫨   㧭   ⮬ , "),
            nl,
            write(" 騩 梥 :"),
            readln(X),
            svod(KY,NA,KO,OB,PL,N,OOO,YYY,KKK,III,TTT,HHH),
            S=PL,
            S=X,
            N1=KY,NA1=NA,KO1=KO,OB1=OB,OO1=OOO,YY1=YYY,
            KK1=KKK,II1=III,TT1=TTT,HH1=HHH,FF1=N,
            assert(kuku(N1,NA1,KO1,OB1,S,FF1,OO1,YY1,KK1,II1,TT1,HH1)),
            fail.

        procedure(3):-
write(" ᮧ"),nl,
write("ͻ"),
write("                             "),
write("͹"),
write("ઠ   No    No   梥 - ᯮ  ࠩ"),
write(". --ᨺ         ͹     "),
write("      ᪠  ⥫              No     "),
write("͹"),
          kuku(KY,NA,KO,OB,S,N,OOO,YYY,KKK,III,TTT,HHH),
            cursor(Z,_),
            cursor(Z,0),write(KY),
            cursor(Z,8),write(NA),
            cursor(Z,16),write(KO),
            cursor(Z,26),write(OB),
            cursor(Z,32),write(S),
            cursor(Z,39),write(N),
            cursor(Z,46),write(OOO),
            cursor(Z,52),write(YYY),
            cursor(Z,58),write(KKK),
            cursor(Z,66),write(III),
            cursor(Z,68),write(TTT),
            cursor(Z,70),write(HHH),
            nl,
            fail.

        procedure(3):-
write(""),
            save("not2.dat",kuku),
            nl,
            write(" ࠭  䠩 not.dat"),
            nl,
            write("  "),
            readchar(_),
            removewindow,
            !.

        procedure(3):-
write(""),
            nl,
            write(" ࠭ ᮧ "),
            nl,
            write("  "),
            readchar(_),
       makewindow(1,2,7,"  ",0,0,25,80).

/*楤   */
        sve(1):-
            write("  䠩 :"),
            readln(N),
            save(N),
            write("  浪"),
            beep,
            !.

        sve(1):-
            write("訡 ,   "),
            readchar(_).

        sve(2):-
            save("dima.dat").


        sve(3).
/*楤 ⥭  ᪠*/
        lod(1):-
            retractall(_),
            write("  䠩 :"),
            readln(N),
            existfile(N),
            consult(N),
            write("  浪"),
            beep,
            !.

        lod(1):-
            nl,
            write(" 䠩   ᪥"),nl,
            write("  "),
            readchar(_).

        lod(2):-
            retractall(_),
            existfile("dima.dat"),
            consult("dima.dat"),
            write("  浪"),
            beep,
            !.

        lod(2):-
            write(" dima.dat   ᪥"),nl,
            write("  "),
            readchar(_).

        lod(3).

        repeat.
        repeat:- repeat.

/*롮 */
        select(N):-
        nl,
        write("1 - ⭠ ઠ ⮬"),nl,
        write("2 - ⥭  ᪠"),nl,
        write("3 - ⥭ 梥 ⮬"),nl,
        write("4 - ⥭ ࠩ "),nl,
        write("5 - ⥭  ⥫"),nl,
        write("==>"),
        readint(X),
        sel(X,N).

        sel(1,N):-
        nl,
        write("  ⮬       :"),
        readln(KY),
        svod(KY,_,_,_,_,Z,_,_,_,_,_,_),
        N=Z.

        sel(1,N):-
        N=0.

        sel(2,N):-
        nl,
        write("  ᪠            :"),
        readint(L),
        svod(_,L,_,_,_,Z,_,_,_,_,_,_),
        N=Z.

        sel(2,N):-
        N=0.

        sel(3,N):-
        nl,
        write(" 梥                   : "),
        readln(F),
        svod(_,_,_,_,F,Z,_,_,_,_,_,_),
        N=Z.

        sel(3,N):-
        N=0.

        sel(4,N):-
        nl,
        write(" ࠩ             :"),
        readln(Q),
        svod(_,_,_,_,_,Z,_,_,_,_,_,Q),
        N=Z.

        sel(4,N):-
        N=0.

        sel(5,N):-
        nl,
        write("  ⥫        :"),
        readint(PPPP),
        svod(_,_,PPPP,_,_,Z,_,_,_,_,_,_),
        N=Z.

        sel(5,N):-
        N=0.
                                                                                                                                                                                                     
 JD            A *.FRM                                        *.MAC                                                           <         A *.FRM   