CSES - Convex Hull
  • Time limit: 1.00 s
  • Memory limit: 512 MB

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

  • 3 \le n \le 2 \cdot 10^5
  • -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