#include <bits/stdc++.h>
using namespace std;
int main() {
  int t = 320;
  vector<pair<int, int> > v;
  v.push_back(make_pair(0, 1000000));
  for (int i = 36000; t > 10; i++) {
    bool ok = true;
    for (int j = 0; j < (int)v.size(); j++)
      if ((v[j].first - i) * 1LL * (v[j].first - i) <
          4LL * t * 1LL * v[j].second)
        ok = false;
    if (ok) {
      v.push_back(make_pair(i, t));
      t--;
    }
  }
  int x = 10000;
  for (int i = v.back().first;; i++) {
    if (i * 1LL * i > 4LL * (x - 10) * v[0].second) assert(false);
    bool ok = true;
    for (int j = 1; j < (int)v.size(); j++)
      if ((v[j].first - i) * 1LL * (v[j].first - i) <
          4LL * x * 1LL * v[j].second)
        ok = false;
    if (!ok) continue;
    v.push_back(make_pair(i, x));
    break;
  }
  printf("%d\n", v.size());
  for (int i = 0; i < (int)v.size(); i++)
    printf("%d %d\n", v[i].first, v[i].second);
  return 0;
}
