兔子喜欢吃胡萝卜。他有一块巨大的正方形田地,并打算在那里种植胡萝卜。
他希望胡萝卜的排列方式很奇特:他试图在田地里种植一些种子,使得恰好有 $N$ 条直线经过至少两颗种子。
这块田地在坐标系中表示为一个顶点分别为 $(0, 0)$、$(10^9, 0)$、$(10^9, 10^9)$ 和 $(0, 10^9)$ 的正方形。种子可以种植在该正方形内部(包括边界)的整数坐标点上。兔子还试图最小化种植种子的数量。请编写一个程序,找出满足条件的种子排列方式。
输入格式
输入格式如下:
$N$
第一行包含一个整数 $N$ ($1 \le N \le 10^6$)。
输出格式
如果不存在满足条件的排列,则在唯一的一行中输出 $-1$。
否则,输出应遵循以下格式:
$K$ $X_1 \ Y_1$ $\vdots$ $X_K \ Y_K$
第一行应包含一个正整数 $K$,即最少需要的种子数量。接下来的 $K$ 行中,第 $i$ 行 ($1 \le i \le K$) 应包含两个整数 $X_i$ 和 $Y_i$ ($0 \le X_i \le 10^9, 0 \le Y_i \le 10^9$),表示第 $i$ 颗种子在你的排列中所种植的位置坐标。这 $K$ 个点中任意两点不得重合。如果存在多种解,输出任意一种即可。
样例
样例输入 1
4
样例输出 1
4 0 0 1 0 2 0 1 1
样例输入 2
6
样例输出 2
4 0 0 0 1 1 0 1 1