Містер Сміт — дуже заможний шанувальник ґаджетів. Одного разу, зрозумівши, що не може купити всі бажані ґаджети лише тому, що їх ще не виробляють, він вирішив побудувати власну Фабрику Ґаджетів.
Фабрика Ґаджетів буде збудована в місці під назвою "Силіконова дорога". На цій дорозі зосереджено виробництво високотехнологічних комплектуючих, необхідних для створення ґаджетів. Силіконова дорога пряма, а фабрики розташовані дуже близько до неї, тому дорогу можна вважати віссю, а фабрики — точками на ній.
Для виробництва ґаджетів потрібні комплектуючих, і є фабрик, які їх виробляють. Містер Сміт бажає мінімізувати суму квадратів відстаней до найближчих фабрик, які виробляють кожну з потрібних комплектуючих. Допоможіть йому знайти всі точки, у яких ця сума мінімальна.

У першому рядку вхідного файлу знаходяться два цілі числа і (1 \leq n \leq 10000; n \leq m \leq 100000).
Кожен з наступних рядків містить пару цілих чисел x_i і p_i, де x_i — координата -ї фабрики, а p_i — ідентифікатор комплектуючої, яку вона виробляє (|x_i| \leq 100000; x_i \leq x_{i+1}; 1 \leq p_i \leq n).
Для кожної потрібної комплектуючої існує хоча б одна фабрика, яка її виробляє.
У першому рядку вихідного файлу повинно міститися ціле число — кількість точок, у яких можна побудувати Фабрику Ґаджетів.
У кожному з наступних рядків слід вивести ці точки у зростаючому порядку. Значення повинні бути точними з абсолютною похибкою не більше 10^{-6}.
Приклад 1