小青魚有一個 $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