#include<bits/stdc++.h>
using namespace std;
struct node
{
long value;
node *lchild;
node *rchild;
};
node * tree=NULL;
long n,q,c=1,num;
node * buildtree(node *t)
{
if(t==NULL)
{
t=new node;
t->value=num;
t->lchild=NULL;
t->rchild=NULL;
return t;
}
else if(t->value>num)
{
c++;
buildtree(t->lchild);
}
else
buildtree(t->rchild);
}
int main()
{
deque<long> deq;
cin>>n;
c=1;
for(int i=1;i<=n;i++)
{
cin>>num;
c=1;
tree=buildtree(tree);
deq.push_back(c);
}
for(int i=0;i<deq.size();i++)
cout<<deq[i]<<endl;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc3RydWN0IG5vZGUKewoJbG9uZyB2YWx1ZTsKCW5vZGUgKmxjaGlsZDsKCW5vZGUgKnJjaGlsZDsKfTsKbm9kZSAqIHRyZWU9TlVMTDsKbG9uZyBuLHEsYz0xLG51bTsKbm9kZSAqIGJ1aWxkdHJlZShub2RlICp0KQp7CglpZih0PT1OVUxMKQoJewoJCXQ9bmV3IG5vZGU7CgkJdC0+dmFsdWU9bnVtOwoJCXQtPmxjaGlsZD1OVUxMOwoJCXQtPnJjaGlsZD1OVUxMOwoJCXJldHVybiB0OwoJfQoJZWxzZSBpZih0LT52YWx1ZT5udW0pCgl7CgkJYysrOwogICAgICAgIGJ1aWxkdHJlZSh0LT5sY2hpbGQpOwogICAgfQoJZWxzZQogICAgYnVpbGR0cmVlKHQtPnJjaGlsZCk7Cn0KaW50IG1haW4oKQp7CglkZXF1ZTxsb25nPiBkZXE7CgljaW4+Pm47CgljPTE7Cglmb3IoaW50IGk9MTtpPD1uO2krKykKCXsKCQljaW4+Pm51bTsKCQljPTE7CgkJdHJlZT1idWlsZHRyZWUodHJlZSk7CgkJZGVxLnB1c2hfYmFjayhjKTsKCX0KCWZvcihpbnQgaT0wO2k8ZGVxLnNpemUoKTtpKyspCgljb3V0PDxkZXFbaV08PGVuZGw7Cn0=