#include <bits/stdc++.h>
#define frr(a) freopen(a, "r", stdin)
#define fww(a) freopen(a, "w", stdout)
#define eb emplace_back
using namespace std;
using ll = long long;
struct fio {
char gc() {return getchar();}
template <typename T> void read(T& x) {
char c = gc(), l = 0; x = 0;
while (!isdigit(c)) l = c, c = gc();
while ( isdigit(c)) x = (x << 1) + (x << 3) + c - 48, c = gc();
if (l == '-') x = -x;
}
template <typename T, typename ...A> void read(T& x, A&... a) {
read(x), read(a...);
}
} IO;
const int N = 123123;
mt19937_64 gen(chrono :: system_clock :: now().time_since_epoch().count());
ll rnd(ll l, ll r) {return gen() % (r - l + 1) + l;}
void gene() {
int n = 100;
printf("%d\n", n);
for (ll v = 2; v <= n; v++) {
ll u = rnd(1, v - 1);
printf("%lld %lld\n", u, v);
}
}
int main() {
// fww("1.in");
int T = 5;
printf("%d\n", T);
while (T--) gene();
return 0;
}