#include<iostream>
#include<deque>
using namespace std;
int main(){
    int q,p,d,x,j;
    cin>>q;
    deque<int> a;
    for(int i=0;i<q;i++){
        cin>>j;
        if(j==0){
            cin>>d>>x;
            if(d==0){
                a.push_front(x);
            }
            else if(d==1){
                a.push_back(x);
            }
        }
        else if(j==1){
            cin>>p;
            cout<<a.at(p)<<endl;
        }
        else if(j==2){
            cin>>d;
            if(d==0){
                a.pop_front();
            }
            else if(d==1){
                a.pop_back();
            }
        }
    }
    return 0;
}

