#include <bits/stdc++.h>
#define clr(str , charr) memset(str,charr, sizeof(str))
using namespace std;
const int mod = 1e9+7 ;
using namespace std::chrono;
#define read(arr,n) for(int i=1;i<=n;i++)cin>>arr[i];
#define write(arr,n) for(int i=1;i<=n;i++)cout<<arr[i]<<" ";
#define write_rev(arr,n) for(int i=n;i>=1;i--)cout<<arr[i]<<" ";
#define lb lower_bound
#define up upper_bound
#define ll long long
#define ld long double
#define ull unsigned long long
#define ull unsigned long long
#define pi 3.1415926
#define pb push_back
#define mp make_pair
#define f first
#define s second
#define en "\n"
#define sp " "
#define eps 1.0E-14
#define l length()
#define preci(x) cout << fixed<<setprecision(x)
#define infmax LONG_LONG_MAX
#define infmin LONG_LONG_MIN
#define bit __builtin_popcountll /*It returns the numbers of set bits in an integer
(the number of ones in the binary representation of the integer).*/
#define all(v) (v).begin(),(v).end()
#define sz(v) (((int)((v).size())))
void fast(){
ios_base::sync_with_stdio(0);cin.tie(0); cout.tie(0);
}
ll gcd(ll a, ll b){
if(b == 0) return a;
return gcd(b, a % b);
}
ll lcm(ll x, ll y){return x / gcd(x, y) * y;};
ll fastpow(ll a,ll b)
{
ll wynik=1;
while (b)
{
if (b&1)wynik=(wynik*a)%mod;
a=(a*a)%mod;
b>>=1;
}
return wynik;
}
bool isp(ll a)
{
if (a == 2)return 1;
if (a%2 == 0|| a==1)return false;
for (ll i =3 ; i*i<=a ; i+=2)
{
if (a %i ==0)return false;
}
return true;
}
void SieveOfEratosthenes(int n)
{
bool prime[n + 1];
memset(prime, true, sizeof(prime));
for (int p = 2; p * p <= n; p++)
{
if (prime[p] == true)
{
for (int i = p * p; i <= n; i += p)
prime[i] = false;
}
}
for (int p = 2; p <= n; p++)
if (prime[p])
cout << p << " ";
}
const int mx = 1e5+5 ;
ll a[mx];
ll fre[mx];
/*
ll b[mx];
ll c[mx];
ll d[mx];
*/
/*bool sortPairs(const pair<char, int> &x, const pair<char, int> &y)
{
return (x.s > y.s);
}
*/
int dx4[] = { -1 , 0 , 0 ,1 };
int dy4[] = { 0 , 1 , -1 , 0 };
string dir [] = {"up" , "rigth" , "left" , "down"};
int dx8[] = { 0 , 0 , 1 , -1 , 1 , -1 , 1 , -1 };
int dy8[] = { 1 , -1 , 0 , 0 , 1 , -1 , -1 , 1 };
//bool valid(int i , int j){return i >= 0 && j >= 0 && i < n && j < m;}
int pri[] = {-1 , 0 ,0, 0, 1, 1, 1, 0, 1, 0, 0,
0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0};
char s[200001];
void solve ()
{
/*
#ifdef k
freopen ("in.txt","r",stdin);
freopen ("ou.txt","w",stdout;
#endif
int n;
cin >> n;
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
int ans = 1;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
const int d = a[j] - a[i];
int cnt = 0;
for (int k = 0; k < n; k++) {
if ((j - i) * a[k] == (j - i) * a[i] + (k - i) * d) {
cnt++;
}
}
ans = max(ans, cnt);
}
}
ans = n - ans;
cout << ans << '\n';
*/
//freopen ("in.txt","r",stdin);
//freopen ("ou.txt","w",stdout;
// 653 77 62 5 800 9
// 800 653 90 77 62 5
// P27. Scores in Order -- Day 3 - Sorting
int n ; cin>>n;
vector<int> v;
vector<int> positions;
int pos = 1 ;
for(int i=0 ; i<n ; ++i)
{
int x; cin>>x;
v.pb(x);
sort(v.begin(), v.end(), greater<int>());
for(int j=0 ; j<v.size() ; ++j)
{
if (v[j] > x)
{
pos++;
}
else {
positions.pb(pos);
pos=1;
break;
}
}
}
for (int i=0 ; i<positions.size() ; ++i)cout << positions[i] << "\n";
sort(v.begin(), v.end(), greater<int>());
//sort(v.rbegin(), v.rend());
for (int i=0 ; i<v.size() ; ++i)cout << v[i] << " ";
}
void calctime(){
auto start = high_resolution_clock::now();
// code here
solve();
auto stop = high_resolution_clock::now();
auto duration = duration_cast<microseconds>(stop - start);
cout << "Time taken by function: "
<< duration.count() << " microseconds" << endl;
}
int main()
{
fast();
//int t; cin>>t;
//while(t--)
solve();
//calctime();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgY2xyKHN0ciAsIGNoYXJyKSBtZW1zZXQoc3RyLGNoYXJyLCBzaXplb2Yoc3RyKSkKdXNpbmcgbmFtZXNwYWNlICBzdGQ7CmNvbnN0IGludCBtb2QgPSAxZTkrNyA7IAp1c2luZyBuYW1lc3BhY2Ugc3RkOjpjaHJvbm87CiNkZWZpbmUgcmVhZChhcnIsbikgZm9yKGludCBpPTE7aTw9bjtpKyspY2luPj5hcnJbaV07CiNkZWZpbmUgd3JpdGUoYXJyLG4pIGZvcihpbnQgaT0xO2k8PW47aSsrKWNvdXQ8PGFycltpXTw8IiAiOwojZGVmaW5lIHdyaXRlX3JldihhcnIsbikgZm9yKGludCBpPW47aT49MTtpLS0pY291dDw8YXJyW2ldPDwiICI7CgoKI2RlZmluZSBsYiBsb3dlcl9ib3VuZCAKI2RlZmluZSB1cCB1cHBlcl9ib3VuZCAKCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nCiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIHBpIDMuMTQxNTkyNgogCgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIG1wIG1ha2VfcGFpcgoKI2RlZmluZSBmIGZpcnN0CiNkZWZpbmUgcyBzZWNvbmQKCiNkZWZpbmUgZW4gIlxuIgojZGVmaW5lIHNwICIgIgojZGVmaW5lIGVwcyAxLjBFLTE0CiNkZWZpbmUgbCBsZW5ndGgoKQojZGVmaW5lIHByZWNpKHgpIGNvdXQgPDwgZml4ZWQ8PHNldHByZWNpc2lvbih4KQojZGVmaW5lIGluZm1heCBMT05HX0xPTkdfTUFYCiNkZWZpbmUgaW5mbWluIExPTkdfTE9OR19NSU4KI2RlZmluZSBiaXQgX19idWlsdGluX3BvcGNvdW50bGwgLypJdCByZXR1cm5zIHRoZSBudW1iZXJzIG9mIHNldCBiaXRzIGluIGFuIGludGVnZXIgCih0aGUgbnVtYmVyIG9mIG9uZXMgaW4gdGhlIGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiB0aGUgaW50ZWdlcikuKi8KCiNkZWZpbmUgYWxsKHYpCQkJKHYpLmJlZ2luKCksKHYpLmVuZCgpCiNkZWZpbmUgc3oodikJCQkoKChpbnQpKCh2KS5zaXplKCkpKSkKdm9pZCBmYXN0KCl7CiBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApO2Npbi50aWUoMCk7IGNvdXQudGllKDApOwp9CgpsbCBnY2QobGwgYSwgbGwgYil7CiAgICBpZihiID09IDApIHJldHVybiBhOwogICAgcmV0dXJuIGdjZChiLCBhICUgYik7Cn0KIApsbCBsY20obGwgeCwgbGwgeSl7cmV0dXJuIHggLyBnY2QoeCwgeSkgKiB5O307CgpsbCBmYXN0cG93KGxsIGEsbGwgYikKewogIGxsIHd5bmlrPTE7CiAgd2hpbGUgKGIpCiAgewogICAgaWYgKGImMSl3eW5paz0od3luaWsqYSklbW9kOwogICAgYT0oYSphKSVtb2Q7CiAgICBiPj49MTsKICB9CiAgcmV0dXJuIHd5bmlrOwp9Cgpib29sIGlzcChsbCBhKQoKCgp7CiAgaWYgKGEgPT0gMilyZXR1cm4gMTsKICBpZiAoYSUyID09IDB8fCBhPT0xKXJldHVybiBmYWxzZTsKCiAgZm9yIChsbCBpID0zIDsgaSppPD1hIDsgaSs9MikKICB7CiAgICBpZiAoYSAlaSA9PTApcmV0dXJuIGZhbHNlOwogIH0KCiAgcmV0dXJuIHRydWU7Cn0KCgp2b2lkIFNpZXZlT2ZFcmF0b3N0aGVuZXMoaW50IG4pCnsKCWJvb2wgcHJpbWVbbiArIDFdOwoJbWVtc2V0KHByaW1lLCB0cnVlLCBzaXplb2YocHJpbWUpKTsKCglmb3IgKGludCBwID0gMjsgcCAqIHAgPD0gbjsgcCsrKQoJewoJCWlmIChwcmltZVtwXSA9PSB0cnVlKQoJCXsKCQkJZm9yIChpbnQgaSA9IHAgKiBwOyBpIDw9IG47IGkgKz0gcCkKCQkJCXByaW1lW2ldID0gZmFsc2U7CgkJfQoJfQoKCWZvciAoaW50IHAgPSAyOyBwIDw9IG47IHArKykKCQlpZiAocHJpbWVbcF0pCgkJCWNvdXQgPDwgcCA8PCAiICI7Cn0KCgoKY29uc3QgaW50IG14ID0gMWU1KzUgOwpsbCBhW214XTsKCmxsIGZyZVtteF07Ci8qCmxsIGJbbXhdOwpsbCBjW214XTsKbGwgZFtteF07CiovCgoKLypib29sIHNvcnRQYWlycyhjb25zdCBwYWlyPGNoYXIsIGludD4gJngsIGNvbnN0IHBhaXI8Y2hhciwgaW50PiAmeSkKewogICAgcmV0dXJuICh4LnMgPiB5LnMpOwp9CgoqLwppbnQgZHg0W10gPSB7IC0xICwgMCAsIDAgICwxICB9OwppbnQgZHk0W10gPSB7IDAgICwgMSAsIC0xICwgMCB9OwoKc3RyaW5nIGRpciBbXSA9IHsidXAiICwgInJpZ3RoIiAsICJsZWZ0IiAsICJkb3duIn07CgppbnQgZHg4W10gPSB7IDAgLCAwICwgMSAsIC0xICwgMSAsIC0xICwgMSAsIC0xIH07CmludCBkeThbXSA9IHsgMSAsIC0xICwgMCAsIDAgLCAxICwgLTEgLCAtMSAsIDEgfTsKLy9ib29sIHZhbGlkKGludCBpICwgaW50IGope3JldHVybiBpID49IDAgJiYgaiA+PSAwICYmIGkgPCBuICYmIGogPCBtO30KaW50IHByaVtdID0gey0xICwgMCAsMCwgMCwgMSwgMSwgMSwgMCwgMSwgMCwgMCwKIDAsIDEsIDAsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDEsIDAsCiAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAxLCAwLCAwLCAwfTsKY2hhciBzWzIwMDAwMV07CnZvaWQgc29sdmUgKCkKewogICAgLyoKCgkjaWZkZWYgawoJZnJlb3BlbiAoImluLnR4dCIsInIiLHN0ZGluKTsKCWZyZW9wZW4gKCJvdS50eHQiLCJ3IixzdGRvdXQ7CgkjZW5kaWYKCgoJICAgIGludCBuOwogICAgY2luID4+IG47CiAgICB2ZWN0b3I8aW50PiBhKG4pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgIH0KICAgIAogICAgaW50IGFucyA9IDE7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSBpICsgMTsgaiA8IG47IGorKykgewogICAgICAgICAgICBjb25zdCBpbnQgZCA9IGFbal0gLSBhW2ldOwogICAgICAgICAgICBpbnQgY250ID0gMDsKICAgICAgICAgICAgZm9yIChpbnQgayA9IDA7IGsgPCBuOyBrKyspIHsKICAgICAgICAgICAgICAgIGlmICgoaiAtIGkpICogYVtrXSA9PSAoaiAtIGkpICogYVtpXSArIChrIC0gaSkgKiBkKSB7CiAgICAgICAgICAgICAgICAgICAgY250Kys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYW5zID0gbWF4KGFucywgY250KTsKICAgICAgICB9CiAgICB9CiAgICAKICAgIGFucyA9IG4gLSBhbnM7CiAgICBjb3V0IDw8IGFucyA8PCAnXG4nOwogICAgKi8KCS8vZnJlb3BlbiAoImluLnR4dCIsInIiLHN0ZGluKTsKCS8vZnJlb3BlbiAoIm91LnR4dCIsInciLHN0ZG91dDsKCgkvLyA2NTMgNzcgNjIgNSA4MDAgOQoJLy8gODAwIDY1MyA5MCA3NyA2MiA1IAoKCS8vIFAyNy4gU2NvcmVzIGluIE9yZGVyIC0tIERheSAzIC0gU29ydGluZwoJCglpbnQgbiA7IGNpbj4+bjsKCXZlY3RvcjxpbnQ+IHY7Cgl2ZWN0b3I8aW50PiBwb3NpdGlvbnM7CglpbnQgcG9zID0gMSA7Cglmb3IoaW50IGk9MCA7IGk8biA7ICsraSkKCXsKCQlpbnQgeDsgY2luPj54OwoJCXYucGIoeCk7CgkJc29ydCh2LmJlZ2luKCksIHYuZW5kKCksIGdyZWF0ZXI8aW50PigpKTsKCQlmb3IoaW50IGo9MCA7IGo8di5zaXplKCkgOyArK2opCgkJewoJCQlpZiAodltqXSA+IHgpCgkJCXsKCQkJCXBvcysrOwoJCQl9CgkJCWVsc2UgewoJCQkJcG9zaXRpb25zLnBiKHBvcyk7CgkJCQlwb3M9MTsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJfQoKCWZvciAoaW50IGk9MCA7IGk8cG9zaXRpb25zLnNpemUoKSA7ICsraSljb3V0IDw8IHBvc2l0aW9uc1tpXSA8PCAiXG4iOwoJc29ydCh2LmJlZ2luKCksIHYuZW5kKCksIGdyZWF0ZXI8aW50PigpKTsKCS8vc29ydCh2LnJiZWdpbigpLCB2LnJlbmQoKSk7Cglmb3IgKGludCBpPTAgOyBpPHYuc2l6ZSgpIDsgKytpKWNvdXQgPDwgdltpXSA8PCAiICI7CgkKfQp2b2lkIGNhbGN0aW1lKCl7CiAKIAoJYXV0byBzdGFydCA9IGhpZ2hfcmVzb2x1dGlvbl9jbG9jazo6bm93KCk7CiAKICAvLyBjb2RlIGhlcmUKICAKICAgIHNvbHZlKCk7CiAgICAKCWF1dG8gc3RvcCA9IGhpZ2hfcmVzb2x1dGlvbl9jbG9jazo6bm93KCk7CiAKIAoJYXV0byBkdXJhdGlvbiA9IGR1cmF0aW9uX2Nhc3Q8bWljcm9zZWNvbmRzPihzdG9wIC0gc3RhcnQpOwogCgljb3V0IDw8ICJUaW1lIHRha2VuIGJ5IGZ1bmN0aW9uOiAiCgkJPDwgZHVyYXRpb24uY291bnQoKSA8PCAiIG1pY3Jvc2Vjb25kcyIgPDwgZW5kbDsKIAp9CgppbnQgbWFpbigpIAp7CiAgZmFzdCgpOwogIC8vaW50IHQ7IGNpbj4+dDsKICAvL3doaWxlKHQtLSkKICBzb2x2ZSgpOwogIC8vY2FsY3RpbWUoKTsKfQogCgo=