#include<fstream>
using namespace std;
ifstream fin("code.in");
ofstream fout("code.out");
int a[102]={0},f[102]={0},g[102]={0};
int n;
void ff1(void)
{
int i,j,k=0;
for (i=0;i<n;i++)
{
fin>>a[i];
}
f[0]=0;
for (i=1;i<n;i++)
{
for (j=0;j<=i;j++)
if (a[j]<a[i]) k++;
f[i]=k;
k=0;
}
for (i=0;i<n;i++)
fout<<f[i]<<' ';
fout<<endl;
}
void delet(int i,int x)
{
int j;
for (j=i;j<=x-1;j++)
g[j]=g[j+1];
}
void ff2(void)
{
int i,j,k;
for (i=0;i<n;i++)
{
fin>>f[i];
}
k=0;
j=n;
for (i=n-1;i>=0;i--)
{
a[i]=g[f[j-1]];
delet(f[j-1],j);
j=j-1;
}
for (i=0;i<n;i++)
fout<<a[i]<<' ';
fout<<endl;
}
int main()
{
int i,j,k,m;
fin>>m>>n;
for (i=0;i<n;i++)
g[i]=i;
for (i=1;i<=m;i++)
{
fin>>k;
if (k==1) ff1();
if (k==2) ff2();
}
fin.close();
fout.close();
return 0;
}