#include <bits/stdc++.h>
using namespace std;
long long int max(long long int a, long long int b) { return a > b ? a : b; }
long long int min(long long int a, long long int b) { return a < b ? a : b; }
void solve() {
  int n;
  cin >> n;
  int Xu[] = {0, 0, -1, -2, -2};
  int Yu[] = {1, 2, 2, 2, 1};
  int Xd[] = {0, 0, 1, 2, 2};
  int Yd[] = {-1, -2, -2, -2, -1};
  vector<pair<int, int> > v;
  int x = 1, y = 3;
  int lp = n + n - 1 + 4;
  for (int i = 0; i < (int)lp; ++i) {
    v.push_back({x, y});
    x++;
  }
  x = 3;
  while (x <= lp) {
    for (int i = 0; i < (int)5; ++i) {
      v.push_back({x + Xu[i], y + Yu[i]});
    }
    if (x < lp)
      for (int i = 0; i < (int)5; ++i) {
        v.push_back({x + Xd[i], y + Yd[i]});
      }
    x += 4;
  }
  cout << v.size() << "\n";
  for (auto i : v) cout << i.first << " " << i.second << "\n";
}
int main() {
  solve();
  return 0;
}
