Dr. Asimov, a robotics researcher, released cleaning robots he developed (see Problem B). His robots soon became very popular and he got much income. Now he is pretty rich. Wonderful.
First, he renovated his house. Once his house had 9 rooms that were arranged in a square, but now his house has N × N rooms arranged in a square likewise. Then he laid either black or white carpet on each room.
Since still enough money remained, he decided to spend them for development of a new robot. And finally he completed.
The new robot operates as follows:
Figure 1. An example of the room
Doctor's house has become larger by the renovation. Therefore, it is not efficient to let only one robot clean. Fortunately, he still has enough budget. So he decided to make a number of same robots and let them clean simultaneously.
The robots interacts as follows:
On every room dust stacks slowly but constantly. To keep his house pure, he wants his robots to work so that dust that stacked on any room at any time will eventually be cleaned.
After thinking deeply, he realized that there exists a carpet layout such that no matter how initial placements of robots are, this condition never can be satisfied. Your task is to output carpet layout that there exists at least one initial placements of robots that meets above condition. Since there may be two or more such layouts, please output the K-th one lexicographically.
Input file contains several data sets. One data set is given in following format:
N K
Here, N and K are integers that are explained in the problem description.
The end of input is described by a case where N = K = 0. You should output nothing for this case.
Print the K-th carpet layout if exists, "No" (without quotes) otherwise.
The carpet layout is denoted by N lines of string that each has exactly N letters. A room with black carpet and a room with white carpet is denoted by a letter 'E' and '.' respectively. Lexicographically order of carpet layout is defined as that of a string that is obtained by concatenating the first row, the second row, ..., and the N-th row in this order.
Output a blank line after each data set.
2 1 2 3 6 4 0 0
.. .. No ..EEEE ..E..E EEE..E E..EEE E..E.. EEEE..