1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <bits/stdc++.h>
const int N = 100;
using namespace std;
int l[105], r[105], n;
int32_t main() {
	ios_base::sync_with_stdio(0);
	cin >> n;
	for(int i = 1; i < N; i++) {
		l[i] = i + 1;
		r[i] = -1;
	}
	l[N] = r[N] = -1;
	int i = 1;
	int j = N;
	while(n > 1) {
		if(n & 1) {
			r[i] = j;
			i++;
		}
		r[j - 2] = j;
		j -= 2;
		n >>= 1;
	}

	cout << N << "\n";
	for(int i = 1; i <= N; i++) {
		cout << l[i] << " " << r[i] << "\n";
	}
}