import std,core.bitop;
int l,n,i;
void q(int[]a...){a.writefln!"%(%s %)";}
void main(){
  l.readf!"%d";
  for(i=l;i;i/=2)n++;
  q(n,l.popcnt+n*2-3);
  for(i=1;l>1;i++)l%2&&q(i,n,l-1),q(i,i+1,l/=2),l&&q(i,i+1,0);
}
