#include <bits/stdc++.h>
using namespace std;
long long int GC(long long int a, long long int b) {
  if (b == 0)
    return a;
  else
    return GC(b, a % b);
}
long long int inv_gc(long long int a, long long int b) {
  return a / GC(a, b) * b;
}
long long int Ceil(long long int a, long long int b) {
  return a / b + (a % b != 0);
}
map<int, int> mpx;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int n, x, y, z;
  cin >> n;
  int k = 3;
  cout << (n / 2 + 1) << endl;
  int r = (n / 2 + 1);
  for (int i = 1; i <= r; i++)
    cout << "1"
         << " " << i << endl;
  int j = 2;
  for (int i = r + 1; i <= n; i++) {
    cout << r << " " << j << endl;
    j++;
  }
  return 0;
}
