What's wrong in this

#include
#include
using namespace std;
int main() {
int n;
cin>>n;
int a[10000];
for(int i=0;i<n;i++) cin>>a[i];
stack s;
s.push(a[0]);
for(int i=1;i<n;i++){

while(!s.empty()&&s.top()<a[i]){
cout<<a[i]<<" ";
s.pop();
}
s.push(a[i]);
}
while(!s.empty())
{
cout<<-1<<" ";
s.pop();
}

}

Hey @ashish_arora369 for input:
4
8 2 3 6
Expected output is: -1 3 6 8
Yours is giving: 3 6 -1 -1