Изменения рейтингов за последние раунды временно удалены. Скоро они будут возвращены. ×

F. Алиса и кактус
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Алиса недавно нашла несколько кактусов, растущих рядом с ее домом! Спустя несколько месяцев, все больше и больше кактусов стало появляться и вскоре они заблокировали всю дорогу. Поэтому Алиса хочет уничтожить их.

Кактус это связный неориентированный граф. Никакое ребро такого графа не принадлежит более, чем одному простому циклу. Простым циклом будем называть последовательность различных вершин $$$x_1, x_2, \ldots, x_k$$$ графа, такую что $$$k \geq 3$$$ и пары вершин $$$x_1$$$ и $$$x_2$$$, $$$x_2$$$ и $$$x_3$$$, $$$\ldots$$$, $$$x_{k-1}$$$ и $$$x_k$$$, $$$x_k$$$ и $$$x_1$$$ соединены ребром. Ребра $$$(x_1, x_2)$$$, $$$(x_2, x_3)$$$, $$$\ldots$$$, $$$(x_{k-1}, x_k)$$$, $$$(x_k, x_1)$$$ называются принадлежащими этому циклу.

Количество кактусов очень большое, поэтому уничтожить их будет тяжело. Но Алиса обладает магией. Когда она использует магию, каждая вершина кактуса удаляется независимо от других с вероятностью $$$\frac{1}{2}$$$. Когда вершина удаляется, все ребра, соседние с этой вершиной также удаляются.

Алиса хочет протестировать свою магию. Она выбрала кактус с $$$n$$$ вершинами и $$$m$$$ ребрами. Обозначим за $$$X[S]$$$ (где $$$S$$$ это подмножество удаленных вершин) количество компонент связности в оставшемся графе после удаления вершин множества $$$S$$$. Перед тем, как использовать магию, она хочет узнать дисперсию случайной величины $$$X$$$, если все вершины графа имеют вероятность $$$\frac{1}{2}$$$ быть удаленными и все эти $$$n$$$ событий независимы. По определению дисперсия равна $$$E[(X - E[X])^2]$$$, где $$$E[X]$$$ это математическое ожидание случайной величины $$$X$$$. Помогите ей и посчитайте это число по модулю $$$10^9+7$$$.

Формально, обозначим за $$$M = 10^9 + 7$$$ (простое число). Можно показать, что ответ может быть представлен в виде несократимой дроби $$$\frac{p}{q}$$$, где $$$p$$$ и $$$q$$$ это целые числа и $$$q \not \equiv 0 \pmod{M}$$$. Выведите целое число, равное $$$p \cdot q^{-1} \bmod M$$$. Другими словами, найдите такое целое число $$$x$$$, что $$$0 \le x < M$$$ и $$$x \cdot q \equiv p \pmod{M}$$$.

Входные данные

Первая строка содержит два целых числа $$$n$$$ и $$$m$$$, разделенных пробелом ($$$1 \leq n \leq 5 \cdot 10^5, n - 1 \leq m \leq 5 \cdot 10^5$$$) — количество вершин и ребер в кактусе.

Следующие $$$m$$$ строк содержат по два целых числа $$$u$$$ и $$$v$$$, разделенных пробелом каждая ($$$1 \leq u, v \leq n, u \neq v$$$), означающих, что существует ребро между вершинами $$$u$$$ и $$$v$$$.

Гарантируется, что заданный граф не содержит петель и кратных ребер и является кактусом.

Выходные данные

Выведите одно целое число — дисперсию количества компонент связности в графе, остающемся после удаления множества вершин, при том, что любая вершина имеет вероятность $$$\frac{1}{2}$$$ быть удаленной и эти события независимы. Это число надо найти и вывести по модулю $$$10^9+7$$$.

Примеры
Входные данные
3 3
1 2
2 3
1 3
Выходные данные
984375007
Входные данные
5 6
1 2
2 3
1 3
3 4
4 5
3 5
Выходные данные
250000002
Примечание

В первом примере ответ равен $$$\frac{7}{64}$$$. Когда все вершины удалены, значение $$$X$$$ равно $$$0$$$, иначе оно равно $$$1$$$. Поэтому математическое ожидание $$$X$$$ равно $$$0\times\frac{1}{8}+1\times\frac{7}{8}=\frac{7}{8}$$$. Тогда дисперсия $$$X$$$ равна $$$(0 - \frac{7}{8})^2\times\frac{1}{8}+(1-\frac{7}{8})^2\times\frac{7}{8} = (\frac{7}{8})^2\times\frac{1}{8}+(\frac{1}{8})^2\times\frac{7}{8} = \frac{7}{64}$$$.

Во втором примере ответ равен $$$\frac{1}{4}$$$.