#include <bits/stdc++.h>
using namespace std;
int main(){
int a[1000]={0},n,i,r[1000]={0},k,p,j,x[1000][100]={0};
cin>>n;
for(i=1;i<=n;i++){
cin>>a[i];
}
k=0;
for(i=1;i<=n;i++){
p=-1;
for(j=1;j<=k;j++){
if(r[j]>=a[i]){
if(p==-1){
p = j;
} else if(r[j]<r[p]){
p=j;
}
}
}
if(p==-1){
k++;
r[k]=a[i];
x[k][1]=a[i];
}else{
r[p]=a[i];
for(int yy=1;yy<=n;yy++){
if(x[p][yy]==0){
x[p][yy]=a[i];
break;
}
}
}
}
cout<<k<<endl;
for(int i=1;i<=k;i++){
cout<<i<<":";
for(int j=1;x[i][j]!=0;j++){
cout<<x[i][j]<<" ";
}
cout<<endl;
}
}
/**************************************************************
Problem: 1375
User: admin
Language: C++
Result: Accepted
Time:12 ms
Memory:2348 kb
****************************************************************/