#include #include #include #include #include using i64 = long long; using namespace std; i64 K; int main(){ cin >> K; int N = 32; vector> vec; for(int i = 2;i <= N - 1;i++){ vec.emplace_back(i,N); for(int j = 2;j <= i - 1;j++){ vec.emplace_back(j,i); } } for(int i = 0;i <= N - 3;i++){ if(K & (1 << i)){ vec.emplace_back(1,N - 3 - i + 2); } } cout << N << " " << vec.size() << endl; for(auto & p : vec){ cout << p.first << " " << p.second << endl; } }