#include <iostream>
#include<bits/stdc++.h>
using namespace std;
struct a
{
long long sum;//该节点的总评测时间
int x;//存储节点编号的下标
int num[5005];//存储节点编号的数组
}a[5005];
int main(int argc, char** argv)
{
int n,m,i,j,k;
int b[5005];
cin>>n>>m;
for(i=1;i<=m;i++)
cin>>b[i];
for(i=1;i<=n;i++)//初始化评测节点
{
a[i].sum=0;
a[i].x=1;
}
for(i=1;i<=m;i++)
{
k=1;
for(j=1;j<=n;j++)//找出每轮总评测时间最小的节点
{
if(a[k].sum>a[j].sum)
k=j;
}
//累计评测节点总时间,和存储节点编号
a[k].sum=a[k].sum+b[i];
a[k].num[a[k].x]=i;
a[k].x++;
}
for(i=1;i<=n;i++)
{
if(a[i].x==1)//若不存储节点则节点的x为1
cout<<"0"<<endl;
else
{
for(j=1;j<a[i].x;j++)//输出编号
if(a[i].num[j]!=0)
cout<<a[i].num[j]<<" ";
cout<<endl;
}
}
return 0;
}