Як ми всі знаємо, щоб пройти на фінальний етап олімпіади недостатньо здати всі задачі, треба ще перемогти Антона. Він має улюблену гру, в яку грає з кожним. Гра відбувається на неорієнтованому графі. Гравці ходять по черзі та Антон ходить першим. На кожному кроці гравці можуть зробити одне з наступного:
Вибрати дві вершини та , між якими є ребро, та видалити його
Вибрати дві вершини та , між якими немає ребра, та додати його
Перший гравець перемагає, якщо в будь-який момент гри не можна більше додати ребра в граф. Другий гравець перемагає, якщо за 10^{100} ходів не переміг перший гравець.
Вам дано неорієнтований граф на вершинах з ребрами. Назвемо підгрою на відрізку [l;r] гру, яка відбувається враховуючи тільки вершини з номерами на відрізку [l;r]. Порахуйте кількість підігор де перемагає перший гравець для всіх пар [l;r] (1 \le l \le r \le n).
Перший рядок містить два цілі числа (1 \le n \le 10^6) та (1 \le m \le 10^6) — кількість вершин та кількість ребер відповідно.
Наступні рядків містять два цілі числа та (1 \le u,v \le n) — опис ребер графа.
Граф не містить петлі та кратні ребра.
Виведіть одне ціле число — відповідь на задачу.
Приклад 1
Приклад 2
Пояснення до другого прикладу:
Підгра на відрізку є виграшною для першого гравця, тому що до першого кроку вже не можна додати більше ребер до графу.
Підгра на відрізку є виграшною для першого гравця, тому що до першого кроку вже не можна додати більше ребер до графу.
Підгра на відрізку є виграшною для першого гравця, тому що на першому кроці перший гравець додає ребро і отримує граф, до якого більше не можна додавати ребра.
Можна показати, що підгра на відрізку є програшною для першого гравця.

Граф у другому прикладі