#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <cmath>
#include <map>
#include <queue>
#include <iomanip>
#include <set>
#include <tuple>
#define mkp make_pair
#define mkt make_tuple
#define rep(i,n) for(int i = 0; i < (n); ++i)
#define all(v) v.begin(),v.end()
using namespace std;
typedef long long ll;
const ll MOD=1e9+7;
template<class T> void chmin(T &a,const T &b){if(a>b) a=b;}
template<class T> void chmax(T &a,const T &b){if(a<b) a=b;}

void output(int k,int x){
  cout<<k<<" "<<x<<endl;
}

int main(){
  int N;
  cin>>N;

  if(N%2) output(1,(N+1)/2);
  else output(2,N/2);

  while(1){
    int t;cin>>t;
    if(t<=1) exit(0);
    int k,x;
    cin>>k>>x;
    if(t==2) exit(0);

    int half=N/2;
    if(x<(N+1)/2) output(k,x+half+1);
    else output(k,x-(half+1));
  }

  return 0;
}