Há $N$ cidades e $M$ estradas de dois sentidos. As cidades são numeradas de $1$ a $N$, e as estradas são numeradas de $1$ a $M$. A estrada $i$ liga as cidades $A_i$ e $B_i$ e tem comprimento $2^i$. É garantido que é possível ir de qualquer cidade a qualquer outra usando estas estradas.
Snuke quer dar um passeio de carro. Ele quer partir da cidade $1$, percorrer cada estrada pelo menos uma vez e regressar à cidade $1$. Calcule o menor comprimento possível do seu percurso, módulo $10^9 + 7$.
Entrada
$$ \begin{gathered} N\quad M\\ A_1\quad B_1\\ \vdots\\ A_M\quad B_M \end{gathered} $$
- $2 \le N \le 400000$
- $1 \le M \le 500000$
- $1 \le A_i, B_i \le N$
- $A_i \ne B_i$
- É possível ir de qualquer cidade a qualquer outra usando as estradas.
- Não há duas estradas que liguem o mesmo par de cidades.
Saída
Imprima o menor comprimento possível do percurso de Snuke, módulo $10^9 + 7$.
Exemplos
Entrada 1
4 5 1 2 3 4 2 3 1 3 2 4
Saída 1
70
Entrada 2
6 10 4 6 4 5 3 6 5 2 3 2 1 2 3 4 6 1 2 4 1 3
Saída 2
2132
Nota
Por exemplo, no exemplo 1, um percurso ótimo é $1 \to 2 \to 3 \to 4 \to 2 \to 3 \to 1$.