A debugging life that starts with std::sort

Print N = 2 and the two points (1, 0) and (0, 1), a fixed counterexample for a broken comparator in std::sort.

Easy1ImplementationSortingMathGeometryNo attempts yetTime limit2sMemory limit512 MB

Problem

Jigu-i trusts std::sort completely. Writing a fast sort by hand takes more than 2020 lines, but std::sort is one line. Using it on an array of structs needs extra work such as defining comparison operators, but that drawback is nothing next to writing a sort from scratch.

So Jigu-i codes while shouting S.M.T. every day. One day the program came back Wrong Answer for no clear reason. The task is simple.

There are NN points in the region x0x \ge 0, y0y \ge 0 of the plane. Sort them so that for every i<ji < j, the ii-th point (xi,yi)(x_i, y_i) and the jj-th point (xj,yj)(x_j, y_j) satisfy xiyjxjyix_i y_j \le x_j y_i.

Jigu-i treated l=(lx,ly)l = (l_x, l_y) as coming before r=(rx,ry)r = (r_x, r_y) when lxry<lyrxl_x r_y < l_y r_x, then called std::sort. The result was still wrong. The code is only std::sort, and feeding data by hand never produced a counterexample.

Print a counterexample for Jigu-i. The required output is unique. NN is 22, and the two points are (1,0)(1, 0) then (0,1)(0, 1).

Input

There is no input.

Output

Print the number of points NN on the first line. NN must satisfy 2N10002 \le N \le 1000. In this problem NN is 22.

On the next NN lines print an xx coordinate and a yy coordinate. Each coordinate must satisfy 0x10000 \le x \le 1000 and 0y10000 \le y \le 1000. The two points are (1,0)(1, 0) then (0,1)(0, 1).

Hint

The judge compiled Jigu-i's code with libstdc++.