Forced by students' parents, ZCC's teacher GPS has to open the scoreboard of the students. But this will bring many problems. So GPS intends only to open the first k ranklists of the tests. In order to avoid the arrogancy and the abandonment, GPS wants to make the difference between the highest ranking sum and the lowest ranking sum as small as possible. At the same time, in order to reflect that each student is different, GPS defines the Progress Index.Progress Index exists between two exams. For two adjacent examinations, define NewRank as the ranking of the latter test, OldRank as the ranking of the formal one, and n as the number of students in the class.
If there are two Pogress Indexs in different tests have the same absolute value or there are two Pogress Indexs in the same test have the same value, GPS will be unhappy, he thinks it violated the differences between students. GPS wants to know if this situation can keep to the end of exactly n exams. Because this problem is too hard so GPS only ask you to give the answers when n<=100. (Note: No two students can have the same rank in a test, the ranks will be 1..n)
There are multiple test cases end with EOF(no more than 10 test cases). Each test case contain a line of two integers n,k indicating the number of students and the number of tests in the first question.(2<=n<=10000,1<=k<=n,n*k<=10000)
For each test case: The first question: The first line contain an integer indicating the smallest difference between the highest ranking sum and the lowest ranking sum. Next n lines each line contain k integers, the i+1-th line indicating the ranks of the student i. The second question: The first line contain "Yes" or "No"(without quotes) indicating if the situation can keep to the end of exactly n exams. If the answer is "Yes" and n<=100 then next n lines each line contain n integers, the i+1-th line indicating the ranks of the student i. If there are multiple solutions, output any.