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*_{*i*}$ $(1 ≤ *a*_{*i*} ≤ *n*·*k*)$. All numbers $*a*_{*i*}$ 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*_{*i*}$for sure; - no segment goes to two children simultaneously.
Help the children, divide the orange and fulfill the requirements, described above.
Input
The first line contains two integers $*n*$, $*k*$ $(1 ≤ *n*, *k* ≤ 30)$. The second line contains $*k*$ space-separated integers $*a*_{1}, *a*_{2}, ..., *a*_{*k*}$ $(1 ≤ *a*_{*i*} ≤ *n*·*k*)$, where $*a*_{*i*}$ is the number of the orange segment that the $*i*$-th child would like to get.
It is guaranteed that all numbers $*a*_{*i*}$ are distinct.
Output
Print exactly $*n*·*k*$ distinct integers. The first $*n*$ integers represent the indexes of the segments the first child will get, the second $*n*$ integers represent the indexes of the segments the second child will get, and so on. Separate the printed numbers with whitespaces.
You can print a child's segment indexes in any order. It is guaranteed that the answer always exists. If there are multiple correct answers, print any of them.
样例
2 2
4 1
2 4
1 3
3 1
2
3 2 1
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。