Little Cyan Fishillä on suorakulmainen ruudukko, jossa on $n$ riviä ja $m$ saraketta. Hän haluaa jakaa ruudukon pentominoihin. Pentomino on alue, joka koostuu täsmälleen viidestä yhteisten sivujen kautta toisiinsa yhdistetystä ruudusta.
On olemassa kaksitoista pentominomuotoa, jotka on nimetty kirjaimilla F, I, L, P, N, T, U, V, W, X, Y ja Z, kuten alla on esitetty. Muotoa voi kiertää tai peilata.
Little Cyan Fish haluaa, että jokainen ruutu kuuluu täsmälleen yhteen pentominoon. Lisäksi mitkään kaksi samanmuotoista pentominoa eivät saa jakaa yhteistä sivua, vaikka ne olisivat eri asennoissa. Pelkän kulman jakaminen on sallittua.
Etsi nämä säännöt täyttävä jako. Jos se on mahdotonta, ilmoita siitä.
Syöte
Syötteessä on useita testitapauksia. Syötteen ensimmäinen rivi sisältää yhden kokonaisluvun $T$ ($1 \le T$), joka ilmaisee testitapausten lukumäärän.
Jokaisen testitapauksen ensimmäinen rivi sisältää kaksi kokonaislukua $n$ ja $m$ ($1 \le n, m \le 1000$), jotka ilmaisevat rivien ja sarakkeiden lukumäärät tässä järjestyksessä. On taattu, että $n \times m$ on luvun $5$ monikerta.
On taattu, että tulojen $n \times m$ summa yli kaikkien testitapausten ei ylitä lukua $10^6$.
Tuloste
Tulosta jokaiselle testitapaukselle yksi rivi, joka sisältää merkkijonon No, jos kelvollista jakoa ei ole olemassa. Muussa tapauksessa tulosta yksi rivi, joka sisältää merkkijonon Yes, ja sen jälkeen $n$ riviä, joista jokainen sisältää pituudeltaan $m$ olevan merkkijonon, joka koostuu vain kahdestatoista isosta kirjaimesta FILPNTUVWXYZ.
Rivillä $i$ ja sarakkeessa $j$ olevan kirjaimen on oltava sen pentominon tunnus, johon kyseinen ruutu kuuluu. Jokaisen maksimaalisen yhteisten sivujen kautta yhdistetyn samojen kirjainten alueen on koostuttava täsmälleen viidestä ruudusta ja oltava muodoltaan kirjaimensa mukainen.
Sanojen Yes ja No kirjainkoolla ei ole merkitystä. Jos kelvollisia jakoja on useita, tulosta mikä tahansa niistä.
Esimerkit
Syöte 1
4 1 5 1 10 3 5 2 10
Tuloste 1
Yes IIIII No Yes LLLLT LYTTT YYYYT Yes LLLLNNNPPP LIIIIINNPP