Дано точок на площині. Побудуйте їх опуклу оболонку. Гарантується, що опукла оболонка не вироджена.
У першому рядку задана кількість точок (3 \leq n \leq 10^5). Наступні рядків містять пари цілих чисел x_i та y_i (-10^9 \leq x_i, y_i \leq 10^9) — координати точок.
Будьте уважні! Точки можуть бути будь-якими. Можуть бути співпадаючі, можуть — такі, що лежать на одній прямій та у великій кількості.
У першому рядку виведіть кількість вершин опуклої оболонки. Наступні рядки повинні містити координати вершин у порядку обходу. Жодні три послідовні точки не повинні лежати на одній прямій.
Приклад 1