#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define REP(i,m,n) for(int i=(int)(m) ; i < (int) (n) ; ++i ) #define rep(i,n) REP(i,0,n) using ll = long long; const int inf=1e9+7; const ll longinf=1LL<<60 ; const ll mod=1e9+7 ; #define pai 3.141592653589793238462643383279 int main(){ int n; cin >> n; if(n%2){ cout << 1 << " " << (n+1)/2 << endl; cout << flush; } else{ cout << 2 << " " << n/2 << endl; cout << flush; } if(n==1 || n==2){ return 0; } while(1){ int t; cin >> t; assert(t==3 || t==0); if(t==0 || t==1) return 0; else if(t==2){ int k, x; cin >> k >> x; return 0; } else if(t==3){ int k, x; cin >> k >> x; if(k==1){ cout << 1 << " " << n+1-x << endl; cout << flush; } else if(k==2){ cout << 2 << " " << n-x << endl; cout << flush; } } } }