#include <iostream>
#include <algorithm>

using namespace std;
 int main(){
 int x[] = {0,1,2,3,4,5,6,7,8,9};
 int A,B,C,D,E,F,G,H,I,J;

 do {
                A = x[0];
                B = x[1];
                C = x[2];
                D = x[3];
                E = x[4];
                F = x[5];
                G = x[6];
                H = x[7];
                I = x[8];
                J = x[9];

                int p9 = G;
                int p19 = C;

                for (int p1 = 1; p1<10; p1++)
                
                for (int p2 = 1; p2<10; p2++)
                    if(p1 != p2 && 
                       p1+p2 == 10*D+E )
                for (int p4 = 1; p4<10; p4++)
                    if(p4!= p1 && 
                       p1+p4+p9 == A*10+B)
                for(int p5=1; p5<10; p5++)
                    if(p5!=p2 &&
                       p4!=p5 &&
                       p5+p2 == C )
                for(int p3 =1; p3<10; p3++)
                    if(p3 != p4 &&
                       p3 != p5)
                for(int p6 = 1; p6<10; p6++)
                    if(p6!= p3 &&
                       p6 != p4 &&
                       p6 != p5 &&
                       p3+p4+p5+p6 == 10*D+D)
                for (int p7=1; p7<10; p7++)
                    if(p7 != p9 )
                for (int p8=1; p8<10; p8++)
                    if( p8 != p7 &&
                        p8 != p3 &&
                        p8 != p9 &&
                        p7+p8+p9 == 10*D+F)
                for (int p12=1; p12<10; p12++)
                    if( p12 !=p7 &&
                        p12+p7 == H )    
                for (int p13=1; p13<10; p13++)
                    if( p13 != p3 &&
                        p13 != p8 &&
                        p13 != p12 && 
                        p12+p13 == G )                         
                for (int p17=1; p17<10; p17++)
                    if( p17 != p3 &&
                        p17 != p8 &&
                        p17 != p13 &&
                        p17 != p19 && 
                        p17+p13+p8+p3 == 10*A + F )           
                for (int p18=1; p18<10; p18++)
                    if( p18 != p17 &&
                        p18 != p19 ) 
                for (int p21=1; p21<10; p21++)
                    if( p21 != p18 &&
                        p18 + p21 == D*10+C )
                for (int p14=1; p14<10; p14++)
                    if( p14 != p19 )
                for (int p22=1; p22<10; p22++)
                    if( p22 != p14 &&
                        p22 != p19 &&
                        p22 != p21 &&
                        p22 + p21 == D*10+C &&
                        p14 + p19 + p22 == A*10+I ) 
                for (int p10=1; p10<10; p10++)
                    if( p10 != p6 )
                for (int p11=1; p11<10; p11++)
                    if( p11 != p10 &&
                        p10 + p11 == H )
                for (int p15=1; p15<10; p15++)
                    if( p15 != p6 &&
                        p15 != p10 &&
                        p15 != p14 )
                for (int p16=1; p16<10; p16++)
                    if( p16 != p11 &&
                        p16 != p14 &&
                        p16 != p15 &&
                        p11 + p16 == G &&
                        p14 + p15 + p16 == A*10 + H)
                for (int p20=1; p20<10; p20++)
                    if( p20 != p6 &&
                        p20 != p10 &&
                        p20 != p15 &&
                        p20 != p17 &&
                        p20 != p18 &&
                        p20 != p19 &&
                        
                        p6 + p10 + p15 + p20 == D*10 + G &&
                        p17 + p18 + p19 +p20 == H*10 + B)
                
                        {                    
                            //         --- ---
                            //        | 1 | 2 |
                            //     --- --- --- ---
                            //    | 3 | 4 | 5 | 6 |
                            // --- --- --- --- --- ---
                            //| 7 | 8 | G | X | a | b |
                            // --- --- --- --- --- ---
                            //| c | d | X | e | f | g |
                            // --- --- --- --- --- ---
                            //    | h | i | C | j |
                            //     --- --- --- ---
                            //        | 1 | 2 |
                            //         --- ---
                            cout << "A: "<<x[0]<<" B: "<<x[1]<<" C: "<<x[2]<<" D: "<<x[3]<<" E: "<<x[4]<<
                                " F: "<<x[5]<<" G: "<<x[6]<<" H: "<<x[7]<<" I: "<<x[8]<<" J: "<<x[9]<<endl;
                            cout<< "         --- ---\n"<<
                                    "        | "<<p1<<" | "<<p2<<" |\n"<<
                                    "     --- --- --- ---\n"<<
                                    "    | "<<p3<<" | "<<p4<<" | "<<p5<<" | "<<p6<<" |\n"<<
                                    " --- --- --- --- --- ---\n"<<
                                    "| "<<p7<<" | "<<p8<<" | "<<p9<<" | X | "<<p10<<" | "<<p11<<" |\n"<<
                                    " --- --- --- --- --- ---\n"<<
                                    "| "<<p12<<" | "<<p13<<" | X | "<<p14<<" | "<<p15<<" | "<<p16<<" |\n"<<
                                    " --- --- --- --- --- ---\n"<<
                                    "    | "<<p17<<" | "<<p18<<" | "<<p19<<" | "<<p20<<" |\n"<<
                                    "     --- --- --- ---\n"<<
                                    "        | "<<p21<<" | "<<p22<<" |\n"<<
                                    "         --- ---\n\n";
        }
    }
    while(next_permutation(x, x+10));
 
 }