У Бесі є зв'язний ненаправлений граф з вершинами, позначеними від до , і ребрами. Граф може містити петлі (ребра, що починаються і закінчуються в одній вершині), але не має паралельних ребер (кілька ребер між одними й тими ж вершинами).
Нехай f_G(a, b) — це булева функція, яка повертає істину, якщо існує шлях від вершини до вершини , що проходить рівно ребер, для 1 \leq a \leq n і 0 \leq b. В іншому випадку функція повертає хибність. Якщо по ребру проходять кілька разів, це враховується в кількість ребер.
Ельза хоче скопіювати Бесі. Вона прагне створити ненаправлений граф G', такий що f_{G'}(a, b) = f_G(a, b) для всіх і .
Ваше завдання — порахувати кількість різних графів G', які Ельза може створити, за модулем 10^9 + 7. Як і , граф G' може містити петлі, але не може мати паралельних ребер (це означає, що існує всього 2^{(n^2 + n) / 2} різних графів на вершинах).
Кожен вхід містить тестів, які повинні вирішуватися незалежно. Гарантується, що сума n^2 по всіх тестах не перевищить 10^5.
Перша стрічка вводу містить кількість тестів (1 \leq t \leq 10^5 / 4).
Перша стрічка кожного тесту містить два цілих числа і (1 \leq n \leq 10^2, n - 1 \leq m \leq (n^2 + n) / 2).
Наступні рядків кожного тесту містять два цілих числа і (1 \leq x \leq y \leq n), що позначають ребро між і в .
Послідовні тести розділені пустим рядком для зручності читання.
Для кожного тесту виведіть кількість різних G' за модулем 10^9 + 7 в новому рядку.
У цьому тесті G' може бути рівним або одному з двох наступних графів:
5 4
1 2
1 4
3 4
3 5
5 5
1 2
2 3
1 4
3 4
3 5Приклад 1