#include <bits/stdc++.h>
using namespace std;
bool sortbysec(const pair<int, int> &a, const pair<int, int> &b) {
  return (a.second < b.second);
}
map<string, vector<string>> m;
map<string, long long int> vis;
long long int ans = 0;
vector<long long int> ans_v;
int find_index(string str, string s) {
  vector<int> v;
  for (int i = 0; i < str.length(); i++) {
    if (str.substr(i, s.length()) == s) {
      v.push_back(i);
    }
  }
  return v.size();
}
void dfs(string s, long long int h) {
  vis[s] = 1;
  for (auto x : m[s]) {
    if (!vis[x]) {
      dfs(x, h + 1);
    }
  }
  ans = max(ans, h);
}
int32_t main() {
  long long int n;
  cin >> n;
  cout << n / 2 + 1 << "\n";
  int r = 1, c = 1;
  for (long long int i = 0; i < n; i++) {
    cout << r << " " << c << "\n";
    if (i % 2)
      r++;
    else
      c++;
  }
}
