#5613. CSES2195 凸包

0

CSES2195 凸包

Convex Hull

Given a set of n points in the two-dimensional plane, your task is to determine the convex hull of the points.

Input

The first input line has an integer n: the number of points. After this, there are n lines that describe the points. Each line has two integers x and y: the coordinates of a point. You may assume that each point is distinct, and the area of the hull is positive.

Output

First print an integer k: the number of points in the convex hull. After this, print k lines that describe the points. You can print the points in any order. Print all points that lie on the convex hull.

Constraints

3n23 \le n \le 2 \cdot 10^5$

109x,y109-10^9 \le x, y \le 10^9

Example

Input

6
2 1
2 5
3 3
4 3
4 4
6 3

Output

4
2 1
2 5
4 4
6 3