As you know, after the SWERC award ceremony, it is customary to publish a complete scoreboard with detailed information on submissions and verdicts. However, due to issues with the contest management system, most of the relevant data may not be recorded. Such a situation does not meet the high standards we strive for, so the judges decide to reconstruct the missing data based on whatever information remains, hoping that contestants cannot notice the difference. To further simplify the process, you are asked to provide a solution, or else today's scoreboard will remain forever a mystery (even the fake one).
What is known at the end of the contest is the number of teams , the number of problems , and the number of problems solved by each team. From the number and color of balloons, it is possible to deduce how many teams solved each problem. Your task is to determine which teams solved which problems.
If the information does not add up, your program should detect that the input data is impossible (see sample input ). Otherwise, you should output one possible solution as a sequence of lines, each with characters. Both problems and teams are numbered from to and to , respectively. For team number (1 \leq i \leq T), write a string on the alphabet N, Y such that its -th (1 \leq j \leq P) character is Y if the team solved problem , and N otherwise. For example, the following three lines are a possible solution to the second sample case, where the scores for each of three teams are , , and the number of accepted submissions for each of three problems is , , :
NYY NNY YYN
There is at least one other solution, namely:
NYY NYN YNY
When multiple solutions are possible, you must output the lexicographically smallest string obtained by concatenating the lines in order. In the example above, the first solution is preferred since NYYNNYYYN comes before NYYNYNYNY in lexicographical order. (A string comes before S' in lexicographical order if the first differing character between them is N in and Y in S'.)
Each test case consists of three lines:
The first line contains two space-separated integers (the number of teams) and (the number of problems), 1 \leq T, P \leq 80. The second line contains space-separated integers from to , where the -th integer is the number of problems solved by team . The third line contains integers from to , where the -th integer is the number of teams that solved problem .
Different test cases are separated by an empty line. The last line of input is "0 0".
If there is a solution, print lines of characters, depicting the lexicographically smallest solution as described above. Otherwise, print a single line with the word Impossible. Outputs for different test cases should be separated by an empty line.
Example 1