#include <bits/stdc++.h>
using namespace std;
int n,a[1005],ans,b[1005],c[1005][1005],s;
//n:8
//a:389 207 175 300 299 170 158 165
//b:158 165
//c:389 207 175 170 158
// 300 299 165
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
bool f=false;
for(int j=1;j<=ans;j++){
if(b[j]>a[i]){
f=true;
c[j][s++]=b[j];
b[j]=a[i];
break;
}
}
if(!f){
ans++;
b[ans]=a[i];
}
}
cout<<ans<<endl;
for(int i=1;i<=ans;i++){
cout<<i<<":";
for(int j=1;j<=n;j++){
cout<<c[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
/**************************************************************
Problem: 1375
User: chenjingqi
Language: C++
Result: Wrong Answer
****************************************************************/