#include <iostream>
// vector 所需库
#include <vector>
#include <algorithm>
// list 所需库
#include <list>
#include <iterator>
// 随机调用 所需库
#include <cstdlib>
#include <ctime>
using namespace std;
// vector 输出序列
bool printSeq(const vector<int>& seq){
if(seq.empty()) return false;
cout<<seq.front();
for(int i=1;i<seq.size();++i) cout<<' '<<seq[i];
cout<<'\n';
return true;
}
// vector 实现序列操作
bool solveByVec(){
// cout<<"Using Vec"<<'\n';
vector<int> seq;
int q;cin>>q;
while(q--){
int op;cin>>op;
switch(op){
case 1:{int x;cin>>x;seq.push_back(x);break;}
case 2:{seq.pop_back();break;}
case 3:{int i;cin>>i;cout<<seq[i]<<'\n';break;}
case 4:{int i,x;cin>>i>>x;seq.insert(seq.begin()+i+1,x);break;}
case 5:{sort(seq.begin(),seq.end(),less<>());break;}
case 6:{sort(seq.begin(),seq.end(),greater<>());break;}
case 7:{cout<<seq.size()<<'\n';break;}
case 8:{printSeq(seq);break;}
default:{};
}
}
return true;
}
// list 输出序列
bool printSeq(const list<int>& seq){
if(seq.empty()) return false;
auto it=seq.begin();
cout<<*it;
for(++it;it!=seq.end();++it) cout<<' '<<*it;
cout<<'\n';
return true;
}
// list 实现序列操作
bool solveByList(){
// cout<<"Using Lst"<<'\n';
list<int> seq;
int q;cin>>q;
while(q--){
int op;cin>>op;
switch(op){
case 1:{int x;cin>>x;seq.push_back(x);break;}
case 2:{seq.pop_back();break;}
case 3:{int i;cin>>i;auto it=seq.begin();advance(it,i);
cout<<*it<<'\n';break;}
case 4:{int i,x;cin>>i>>x;auto it=seq.begin();advance(it,i);
seq.insert(next(it),x);break;}
case 5:{seq.sort(less<>());break;}
case 6:{seq.sort(greater<>());break;}
case 7:{cout<<seq.size()<<'\n';break;}
case 8:{printSeq(seq);break;}
default:{};
}
}
return true;
}
int main(){
ios::sync_with_stdio(false);cin.tie(nullptr);
srand(time(nullptr));
if(rand()&1) solveByVec();
else solveByList();
return 0;
}