#include <iostream>
#include<deque>
using namespace std;

int main() {
    int q;
    cin>>q;
    deque<int>dq;
    while(q--){
        int t,x;
        cin>>t;
        if(t==1){
            cin>>x;
            dq.push_front(x);
        }
        else if(t==2){
            cin>>x;
            dq.push_back(x);
        }
        else if(t==3){
            cout<<dq.front()<<endl;
            dq.pop_front();
        }
        else {
            cout<<dq.back()<<endl;
            dq.pop_back();
        }

    }
    return 0;
}