小青魚有一個 $n$ 行 $m$ 列嘅長方形格仔網。佢想將呢個格仔網劃分成若干個五格骨牌(pentomino)。一個五格骨牌係由啱啱好五個透過公共邊連埋一齊嘅格仔組成嘅區域。
五格骨牌一共有十二種形狀,分別標號做 F、I、L、P、N、T、U、V、W、X、Y 同埋 Z,好似下面幅圖噉。每種形狀都可以旋轉或者反轉。
小青魚希望每個格仔都啱啱好屬於一個五格骨牌。除此之外,任何兩個相同形狀嘅五格骨牌都唔可以共用一條邊,就算佢哋嘅方向唔同都唔得。淨係共用一個角(頂點)係容許嘅。
請搵出一個符合上面規則嘅劃分方案。如果冇可能做到,請報告無解。
輸入格式
呢道題有多組測試數據。輸入嘅第一行有一個整數 $T$($1 \le T$),代表測試數據嘅組數。
對於每組測試數據,第一行有兩個整數 $n$ 同 $m$($1 \le n, m \le 1000$),分別代表格仔網嘅行數同列數。題目保證 $n \times m$ 係 $5$ 嘅倍數。
題目保證所有測試數據入面 $n \times m$ 嘅總和唔超過 $10^6$。
輸出格式
對於每組測試數據,如果唔存在合法嘅劃分方案,輸出一行包含 No。否則,輸出一行包含 Yes,跟住輸出 $n$ 行,每行有一個長度係 $m$、淨係由十二個大楷字母 FILPNTUVWXYZ 組成嘅字串。
第 $i$ 行第 $j$ 列嘅字母必須係包含嗰個格仔嘅五格骨牌嘅標號。每一個由相同字母組成而且透過公共邊連埋一齊嘅極大連通區域,都必須啱啱好由五個格仔組成,而且形狀要係佢個字母所代表嘅形狀。
Yes 同 No 唔分大細楷。如果有多過一個合法嘅劃分方案,輸出邊一個都得。
範例
輸入 1
4 1 5 1 10 3 5 2 10
輸出 1
Yes IIIII No Yes LLLLT LYTTT YYYYT Yes LLLLNNNPPP LIIIIINNPP