#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int List[n];
for(int i = 0; i < n; i++)
{
cin>>List[i];
}
int LIS[n];
for(int i = 0; i < n; i++)
{
LIS[i] = 1;
}
for(int i = 1; i < n; i++)
{
for(int j = 0; j < i; j++)
{
if(List[i] > List[j])
{
LIS[i] = max(LIS[i], 1+ LIS[j]);
}
}
}
int mx = INT_MIN;
for(int i = 0; i < n; i++)
{
cout<<LIS[i]<<" ";
if(LIS[i] > mx)mx = LIS[i];
}
cout<<endl<<mx<<endl;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgaW50IG47CiAgICBjaW4+Pm47CiAgICBpbnQgTGlzdFtuXTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgY2luPj5MaXN0W2ldOwogICAgfQogICAgaW50IExJU1tuXTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgTElTW2ldID0gMTsKICAgIH0KCiAgICBmb3IoaW50IGkgPSAxOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIGZvcihpbnQgaiA9IDA7IGogPCBpOyBqKyspCiAgICAgICAgewogICAgICAgICAgICBpZihMaXN0W2ldID4gTGlzdFtqXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTElTW2ldID0gbWF4KExJU1tpXSwgMSsgTElTW2pdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBpbnQgbXggPSBJTlRfTUlOOwogICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgIHsKICAgICAgICBjb3V0PDxMSVNbaV08PCIgIjsKICAgICAgICBpZihMSVNbaV0gPiBteClteCA9IExJU1tpXTsKICAgIH0KICAgIGNvdXQ8PGVuZGw8PG14PDxlbmRsOwoKCgp9Cg==