module

Time limit: 0.05s Memory limit: 32MB Input: module.in Output: module.out

Cerință

Se dă un graf neorientat cu NN noduri (numerotate de la 11 la NN) şi MM muchii. Vom defini A(i,j)=1A(i,j) = 1 dacă nodurile ii şi jj sunt adiacente (există o muchie între ele), respectiv A(i,j)=0A(i,j) = 0 dacă nodurile ii şi jj nu sunt adiacente.
O submulţime SS de noduri ale grafului se numeşte modul dacă îndeplineşte următoarea condiţie: oricare ar fi trei noduri xx, yy si zz astfel incat xS,ySx \in S, y \in S si zSz ∉ S, avem A(x,z)=A(y,z)A(x, z) = A(y, z).
Mai exact, pentru orice nod zz din afara mulţimii SS, ori toate nodurile din SS sunt adiacente cu zz ori niciun nod din SS nu este adiacent cu zz. Câteva exemple simple de module sunt: mulţimea vidă, mulţimea tuturor nodurilor grafului, mulţimile ce constau din câte un singur nod al grafului.
Determinaţi numărul de module ale grafului dat, modulo 3494934949.

Date de intrare

Prima linie a fişierului de intrare module.in conţine numerele întregi NN şi MM, separate printr-un spaţiu. Următoarele MM linii conţin câte două numere întregi ii şi jj, separate printr-un spaţiu, având semnificaţia că există o muchie între nodul ii şi nodul jj în graf.

Date de ieșire

În fişierul de ieşire module.out veţi afişa numărul de module ale grafului dat, modulo 3494934949.

Restricții și precizări

  • 1N1001 \leq N \leq 100
  • 0MN(N1)20 \leq M \leq \frac{N \cdot (N - 1)}{2}
  • 1i,jN1 \leq i, j \leq N
  • iji \neq j
  • În fişierul de intrare nu se vor repeta muchii.

Exemplu

module.in

7 11
5 1
5 6
1 2
1 3
1 7
6 2
6 3
6 7
4 2
4 3
4 7

module.out

14

Explicație

Cele 1414 module sunt:
{},{1},{2},{3},{4},{5},{6},{7},{1,6},{2,3},{2,7},{3,7},{2,3,7},{1,2,3,4,5,6,7}\{\}, \{1\}, \{2\}, \{3\}, \{4\}, \{5\}, \{6\}, \{7\}, \{1,6\}, \{2,3\}, \{2,7\}, \{3,7\}, \{2,3,7\}, \{1,2,3,4,5,6,7\}.

Log in or sign up to be able to send submissions!