Завірюха
Зима, як завжди, застала зненацька бригадних робітників міста Байтбурга. Після хуртовини головна дорога потребує термінового очищення від снігу.
Відповідальність за це лежить на Департаменті з боротьби зі стихійними лихами, який має у своєму розпорядженні m снігоочисних машин, пронумерованих від 1 до m. Кожна машина відповідає за безперервний фрагмент головної дороги. Два фрагменти можуть перетинатися, але жоден не містить у собі інший. Фрагменти не обов'язково покривають всю дорогу (частина дороги може бути тунелем, який не потребує очищення).
На жаль, страйк усіх снігоочисників ось-ось розпочнеться. Голова департаменту з ліквідації наслідків стихійних лих зміг переконати лише одного снігоочисника не брати участь у страйку. Тому єдиному працюючому снігоочиснику доручено керувати всіма іншими. Тепер потрібно визначити порядок, у якому вони будуть використовуватися. Департамент наказав снігоочиснику завжди обирати машину, яка має найменшу загальну довжину ще не прибраних частин фрагмента, пов'язаного з нею (після очищення частини дороги вона вважається очищеною до кінця процесу). Якщо є кілька таких машин, слід обрати ту, яка має менший номер.
Вхідні дані
Перший рядок містить два цілих числа n і m (1 ≤ n ≤ 10^9
, 1 ≤ m ≤ 300 000) - довжина дороги і кількість снігоочисників. Наступні m рядків описують послідовні очисники у порядку зростання їх номерів. i-ий рядок містить два цілих числа a[i]
, b[i]
(1 ≤ a[i]
< b[i]
≤ n), що означають, що фрагмент дороги, пов'язаний з i-ою снігоочисною машиною, починається в a[i]
і закінчується в b[i]
. Вважайте, що a[i]
< a[i+1]
, тобто снігоочисники відсортовані за лівою точкою пов'язаного з ними фрагмента дороги. Крім того, жоден фрагмент не міститься у фрагменті, пов'язаному з іншим снігоочисником.
Вихідні дані
Виведіть номери снігоочисників у порядку їх використання. Вивід повинен складатися з m рядків, кожен з яких містить одне ціле число.