#include <iostream>
using namespace std;
const int MAX_N = 1000000;
int t[MAX_N];
int n;
int read(int x)
{
int res = 0;
for(;x>0;x-=(x&-x))res+=t[x]; // zastosowany jest tu sprytny trick , który zostanie wytłumaczony w później
return res;
}//funkcja pobiera wartość danego elementu w czasie O(lgN)
void update(int x ,int w)
{
for(;x<=n;x+=(x&-x))t[x]+=w; // n to rozmiar wejścia
}//funkcja aktualizuje dany element , oraz wszystkie inne go zawierające , w czasie O(lgN)
int main() {
cin >> n;
int x;
for(int i = 0; i < n; ++i)
{
cin >> x;
update(x, 1);
}
cout << read(1);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE1BWF9OID0gMTAwMDAwMDsKaW50IHRbTUFYX05dOwppbnQgbjsKCmludCByZWFkKGludCB4KQp7CiBpbnQgcmVzID0gMDsKIGZvcig7eD4wO3gtPSh4Ji14KSlyZXMrPXRbeF07IC8vIHphc3Rvc293YW55IGplc3QgdHUgc3ByeXRueSB0cmljayAsIGt0w7NyeSB6b3N0YW5pZSB3eXTFgnVtYWN6b255IHcgcMOzxbpuaWVqCiByZXR1cm4gcmVzOwp9Ly9mdW5rY2phIHBvYmllcmEgd2FydG/Fm8SHIGRhbmVnbyBlbGVtZW50dSB3IGN6YXNpZSBPKGxnTikKdm9pZCB1cGRhdGUoaW50IHggLGludCB3KQp7CiBmb3IoO3g8PW47eCs9KHgmLXgpKXRbeF0rPXc7IC8vIG4gdG8gcm96bWlhciB3ZWrFm2NpYQp9Ly9mdW5rY2phIGFrdHVhbGl6dWplIGRhbnkgZWxlbWVudCAsIG9yYXogd3N6eXN0a2llIGlubmUgZ28gemF3aWVyYWrEhWNlICwgdyBjemFzaWUgTyhsZ04pCgppbnQgbWFpbigpIHsKICAgIGNpbiA+PiBuOwogICAgaW50IHg7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgKytpKQogICAgewogICAgICAgIGNpbiA+PiB4OwogICAgICAgIHVwZGF0ZSh4LCAxKTsKICAgIH0KCgljb3V0IDw8IHJlYWQoMSk7CiAgICByZXR1cm4gMDsKfQ==