#include<algorithm>
#include<iostream>
#include<vector>
using namespace std;
typedef long long lint;
typedef vector<int>vi;
typedef pair<int,int>pii;
#define rep(i,n)for(int i=0;i<(int)(n);++i)

int main(){
  lint k;
  cin>>k;
  int n=32;
  vector<pii>e;
  rep(i,n){
    rep(j,i){
      if(j>0)
	e.push_back(pii(j,i));
    }
  }
  for(int i=n-3;i>=0;--i){
    if(k&1LL<<i)
      e.push_back(pii(0,n-i-2));
  }
  cout<<n<<" "<<e.size()<<endl;
  rep(i,e.size()){
    cout<<e[i].first+1<<" "<<e[i].second+1<<endl;
  }
}