#include <iostream> using namespace std; bool G[33][33]; int main(){ int K; cin >> K; int N, M = 0; N = 32; for(int i = 2; i <= 32; i++){ for(int j = i+1; j <= 32; j++){ G[i][j] = true; M++; } } for(int i = 0; i <= 30; i++){ int m = (1<<i); if(K&m){ G[1][31-i] = true; M++; } } cout << N << M << endl; for(int i = 1; i <= 32; i++){ for(int j = i+1; j <= 32; j++){ if(G[i][j]){ cout << i << ' ' << j << endl; } } } }