One day Ms Swan bought an orange in a shop. The orange consisted of *n*·*k* segments, numbered with integers from 1 to *n*·*k*. 

There were *k* children waiting for Ms Swan at home. The children have recently learned about the orange and they decided to divide it between them. For that each child took a piece of paper and wrote the number of the segment that he would like to get: the *i*-th (1 ≤ *i* ≤ *k*) child wrote the number *a*<sub class="lower-index">*i*</sub> (1 ≤ *a*<sub class="lower-index">*i*</sub> ≤ *n*·*k*). All numbers *a*<sub class="lower-index">*i*</sub> accidentally turned out to be different.

Now the children wonder, how to divide the orange so as to meet these conditions:
 -  each child gets exactly *n* orange segments; -  the *i*-th child gets the segment with number *a*<sub class="lower-index">*i*</sub> for sure; -  no segment goes to two children simultaneously. 
Help the children, divide the orange and fulfill the requirements, described above.
The first line contains two integers *n*, *k* (1 ≤ *n*, *k* ≤ 30). The second line contains *k* space-separated integers *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*k*</sub> (1 ≤ *a*<sub class="lower-index">*i*</sub> ≤ *n*·*k*), where *a*<sub class="lower-index">*i*</sub> is the number of the orange segment that the *i*-th child would like to get.

It is guaranteed that all numbers *a*<sub class="lower-index">*i*</sub> are distinct.
# http://codeforces.com/contest/244/problem/A

number_per_child, number_of_children = input().strip().split()
number_per_child = int(number_per_child)
number_of_children = int(number_of_children)

number_of_segs = number_of_children * number_per_child
priority = input().strip().split()

prefarence = {}
for i in range(0,len(priority)):
    priority[i] = int(priority[i])
    prefarence[priority[i]] = i
# print(prefarence)    


distribution = {}
for i in range(0,number_of_children):
    distribution[i] = []

temp = 1
for x in distribution:
    count = 0
    while(count < number_per_child - 1):
        if(not (temp in prefarence)):
            distribution[x].append(temp)
            temp = temp + 1
            count = count + 1
        else:
            temp = temp + 1


for x in prefarence:
    distribution[prefarence[x]].append(x)
# print(prefarence)
# print(distribution)

ans = ""
for x in distribution:
    for y in distribution[x]:
        ans = ans + str(y) + " "
    if (x != number_of_children - 1):
        ans = ans + "\n"


print(ans)
