#pragma GCC optimize(2) #include using namespace std; const int X=1<<23; int val[X*2]; struct SegTree{ inline void update(int i){ val[i]=min(val[i*2],val[i*2+1]); } SegTree(int n){ val[X]=n+1; for(int i=1;i<=n;i++)val[X+i]=i; for(int i=n+1;i>=1)update(i); } int operator[](int i){ return val[X+i]; } }; int main(){ // freopen("in.txt","r",stdin); // freopen("out.txt","w",stdout); int n;scanf("%d",&n); SegTree T(n); for(int i=0;in)printf("%d\n",val[1]); else{ T.set(x,n+1); printf("%d\n",val[1]); T.set(x,x); } } } }