using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int[] NList => ReadLine().TrimStart().Split().Select(int.Parse).ToArray(); static int[] NMi => ReadLine().Split().Select(c => int.Parse(c) - 1).ToArray(); static int[][] NMap(int n) => Enumerable.Repeat(0, n).Select(_ => NMi).ToArray(); public static void Main() { Solve(); } static void Solve() { var d = new List(); d.Add(new int[] { 999955281, -999916840 }); for (var i = 0; i < 44719; ++i) { var last = d[d.Count - 1]; d.Add(new int[] { last[0] + 1, last[1] + d.Count }); } var cnt = d.Count; for (var i = cnt - 2; i > 0; --i) d.Add(new int[] { d[i][0], -d[i][1]}); for (var i = 1; i < cnt; ++i) d.Add(new int[] { -d[i][1], d[i][0] }); for (var i = cnt - 2; i > 0; --i) d.Add(new int[] { d[i][1], d[i][0] }); for (var i = 1; i < cnt; ++i) d.Add(new int[] { -d[i][0], -d[i][1] }); for (var i = cnt - 2; i > 0; --i) d.Add(new int[] { -d[i][0], d[i][1] }); for (var i = 1; i < cnt; ++i) d.Add(new int[] { d[i][1], -d[i][0] }); for (var i = cnt - 2; i > 0; --i) d.Add(new int[] { -d[i][1], -d[i][0] }); WriteLine(d.Count); // var prev = 0.0; // for (var i = 0; i < d.Count; ++i) // { // if (i + 1 < d.Count) // { // var cur = Math.Atan2(d[i + 1][1] - d[i][1], d[i + 1][0] - d[i][0]); // if (cur < prev) cur += Math.PI * 2; // if (cur == prev || cur - prev > 1) // { // WriteLine("!!! at" + i); // WriteLine(string.Join(" ", d[i - 1]) + " " + prev); // WriteLine(string.Join(" ", d[i]) + " " + cur); // WriteLine(string.Join(" ", d[i + 1])); // return; // } // prev = cur; // } // else // { // var cur = Math.Atan2(d[0][1] - d[i][1], d[0][0] - d[i][0]); // if (cur < prev) cur += Math.PI * 2; // if (cur == prev || cur - prev > 1) // { // WriteLine("!!! at" + i); // WriteLine(string.Join(" ", d[i - 1])); // WriteLine(string.Join(" ", d[i])); // WriteLine(string.Join(" ", d[i + 1])); // return; // } // prev = cur; // } // } WriteLine(string.Join("\n", d.Select(di => string.Join(" ", di)))); } }