PROBLEMA 15:            Blatistul
    DEADLINE:               Luni, 5 aprilie 1999
    DOMENIU:                Backtracking
    TIMP DE IMPLEMETARE:    O ora
    PUNCTAJ:                50 dexteri
    
    In orasul B. biletele de autobuz au o grila de NxN patratele, dintre
    care aparatele de taxat composteaza (gauresc) K patratele. Biletul
    poate fi introdus in aparat numai cu un capat (celalalt capat fiind
    prins in cotor), dar poate fi introdus fie pe fata, fie pe dos. In
    acest fel, unele din configuratiile posibile de K gauri in grila de
    NxN sunt oglindiri stanga-dreapta ale altor configuratii. Iata un
    exemplu pentru N=3 si K=2:
    
         +---+---+---+                            +---+---+---+
         | * |   |   |                            |   |   | * |
         +---+---+---+                            +---+---+---+
         |   |   | * |     este oglindirea lui    | * |   |   |
         +---+---+---+                            +---+---+---+
         |   |   |   |                            |   |   |   |
         +---+---+---+                            +---+---+---+
    
          (cod: 1123)                              (cod: 1321)
    
    Un blatist inveterat face colectie de bilete perforate si doreste sa
    catalogheze toate configuratiile posibile de gauri, ignorand insa
    oglindirile (deoarece controlorii nu se supara daca un bilet este
    taxat pe dos). In acest scop, el codifica fiecare configuratie
    printr-un sir de forma:
    
    l1c1l2c2...lkck
    
    unde (li, ci) sunt coordonatele gaurii i relativ la coltul din
    stanga-sus al biletului. Gaurile sunt enumerate de la stanga la
    dreapta si de sus in jos. De exemplu, cele doua configuratii de mai
    sus sunt codificate prin "1123" si "1321". Acum blatistul este capabil
    sa elimine oglindirile dupa urmatorul criteriu: daca o configuratie
    este oglindirea alteia, dintre cele doua se va clasifica numai cea a
    carei codificare are o pozitie alfabetica minima, cealalta
    ignorandu-se. Dintre cele doua configuratii de mai sus, "1123" are o
    pozitie alfabetica minima (adica s-ar afla inaintea lui "1321" in
    cartea de telefon).
    
    DATE DE INTRARE: Fisierul BILET.IN contine valorile lui N si K
    separate printr-un spatiu. Limite: 2<=N<=8, 1<=K<=3.
    
    DATE DE IESIRE: Fisierul BILET.OUT va contine pe fiecare linie
    codificarea unei configuratii, fara oglindiri. Configuratiile trebuie
    scrise IN ORDINE ALFABETICA (pentru ca blatistul sa poata regasi cu
    usurinta orice bilet).
    
    EXEMPLU:
    
    BILET.IN                        BILET.OUT (126 octeti)
    3 2                             1112
                                    1113
                                    1121
                                    1122
                                    1123
                                    1131
                                    1132
                                    1133
                                    1221
                                    1222
                                    1231
                                    1232
                                    2122
                                    2123
                                    2131
                                    2132
                                    2133
                                    2231
                                    2232
                                    3132
                                    3133
    
    TIMP DE RULARE: O secunda per test (adica, backtracking, backtracking,
                    da' nici chiar asa :) )