Опукла оболонка#4774

Опукла оболонка

1 секунда
122,174 мегабайта
Дуже легка

Дано точок на площині. Побудуйте їх опуклу оболонку. Гарантується, що опукла оболонка не вироджена.

Вхідні дані

У першому рядку задана кількість точок (3 \leq n \leq 10^5). Наступні рядків містять пари цілих чисел x_i та y_i (-10^9 \leq x_i, y_i \leq 10^9) — координати точок.

Будьте уважні! Точки можуть бути будь-якими. Можуть бути співпадаючі, можуть — такі, що лежать на одній прямій та у великій кількості.

Вихідні дані

У першому рядку виведіть кількість вершин опуклої оболонки. Наступні рядки повинні містити координати вершин у порядку обходу. Жодні три послідовні точки не повинні лежати на одній прямій.

Приклади

Приклад 1

Loading
Loading