#include<bits/stdc++.h>
using namespace std;
struct cmp{
bool operator()(long long a, long long b){
if(abs(a)==abs(b))
return a>b;
return abs(a)>abs(b);
}
};
int main(){
int n, x;
priority_queue<long long, vector<long long>, cmp>pq;
cin>>n;
while(n--){
cin>>x;
if(x==0){
if(pq.empty())
cout<<0<<'\n';
else{
cout<<pq.top()<<'\n';
pq.pop();
}
}
else
pq.push(x);
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgY21wewoJYm9vbCBvcGVyYXRvcigpKGxvbmcgbG9uZyBhLCBsb25nIGxvbmcgYil7CgkJaWYoYWJzKGEpPT1hYnMoYikpCgkJCXJldHVybiBhPmI7CgkJcmV0dXJuIGFicyhhKT5hYnMoYik7Cgl9Cn07CgppbnQgbWFpbigpewoJaW50IG4sIHg7Cglwcmlvcml0eV9xdWV1ZTxsb25nIGxvbmcsIHZlY3Rvcjxsb25nIGxvbmc+LCBjbXA+cHE7CgkKCWNpbj4+bjsKCQoJd2hpbGUobi0tKXsKCQljaW4+Png7CgkJCgkJaWYoeD09MCl7CgkJCWlmKHBxLmVtcHR5KCkpCgkJCQljb3V0PDwwPDwnXG4nOwoJCQllbHNlewoJCQkJY291dDw8cHEudG9wKCk8PCdcbic7CgkJCQlwcS5wb3AoKTsKCQkJfQoJCX0KCQllbHNlCgkJCXBxLnB1c2goeCk7Cgl9CgkKCXJldHVybiAwOwp9