Little Cyan Fish possède une grille rectangulaire comportant $n$ lignes et $m$ colonnes. Il souhaite diviser cette grille en pentominos. Un pentomino est une région constituée d'exactement cinq cases reliées entre elles par des côtés communs.
Il existe douze formes de pentominos, étiquetées F, I, L, P, N, T, U, V, W, X, Y et Z, comme illustré ci-dessous. Une forme peut être tournée ou retournée.
Little Cyan Fish souhaite que chaque case appartienne à exactement un pentomino. De plus, deux pentominos de même forme ne peuvent pas partager un côté commun, même s'ils ont des orientations différentes. Le partage d'un seul coin est autorisé.
Trouvez une division respectant ces règles. Si c'est impossible, signalez-le.
Entrée
Il y a plusieurs cas de test. La première ligne de l'entrée contient un seul entier $T$ ($1 \le T$), indiquant le nombre de cas de test.
Pour chaque cas de test, la première ligne contient deux entiers $n$ et $m$ ($1 \le n, m \le 1000$), indiquant respectivement le nombre de lignes et de colonnes. Il est garanti que $n \times m$ est un multiple de $5$.
Il est garanti que la somme de $n \times m$ sur l'ensemble des cas de test ne dépasse pas $10^6$.
Sortie
Pour chaque cas de test, s'il n'existe aucune division valide, affichez une seule ligne contenant No. Sinon, affichez une seule ligne contenant Yes, suivie de $n$ lignes, chacune contenant une chaîne de caractères de longueur $m$ composée uniquement des douze lettres majuscules FILPNTUVWXYZ.
La lettre située à la ligne $i$ et à la colonne $j$ doit être l'étiquette du pentomino contenant cette case. Chaque région maximale de lettres identiques reliées par des côtés communs doit être constituée d'exactement cinq cases et avoir la forme désignée par sa lettre.
Les mots Yes et No sont insensibles à la casse. S'il existe plusieurs divisions valides, affichez n'importe laquelle d'entre elles.
Exemples
Entrée 1
4 1 5 1 10 3 5 2 10
Sortie 1
Yes IIIII No Yes LLLLT LYTTT YYYYT Yes LLLLNNNPPP LIIIIINNPP