#include <iostream>
#include <fstream>
using namespace std;
void nez(int N, int &k, int sz, int n);
int main() {
int N;
ifstream in("fractii.in");
in >> N;
int k = 0;
for (int sz = 1;sz <= N;sz++)
for (int n = 1;n <= N;n++)
nez(N,k,sz,n);
ofstream out("fractii.out");
out << k;
cout << k;
}
void nez(int N, int &k, int sz, int n) {
if (sz == 1 || n == 1) {
k++; cout << sz << " " << n << endl;
return;
}
int kisebb;
if (sz > n) kisebb = n;
else kisebb = sz;
for (int i = 2; i <= kisebb; ++i)
if (sz%i == 0 && n%i == 0) return;
k++; cout << sz << " " << n << endl;
}