#include <bits/stdc++.h>
using namespace std;

#define ffor(i,o,f)		   for(int i = o; i < f; i++)
#define pb 				   push_back
#define mp                 make_pair
#define all(a)             (a).begin(), (a).end()
#define F                  first
#define S                  second
#define PI 				   3.14159265358979323846264338327950
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define endl 			   '\n'
#define sz(x)              ((int)(x).size())
typedef long long          ll;
typedef pair < int, int >  pii;
typedef vector < int >     vi;
typedef vector < pii >     vii;
typedef vector < vi > 	   gi;
typedef vector < ll >      vll;
typedef map < int, int >   mii;

int t, n, m, u, v, groups;
const int tam = 1005;
gi g;
unordered_set < int > vis;
queue < int > q;

void bfs(int nd){
    q.push(nd);
    while(!q.empty()){
        nd = q.front();
        q.pop();
        vis.insert(nd);
        ffor(i, 0, sz(g[nd])){
            if(vis.find(g[nd][i]) == vis.end()){
                q.push(g[nd][i]);
            }
        }
    }

}

int main()
{
    g.assign(tam, vi ());
    g[0].pb(2);
    g[2].pb(0);
    g[0].pb(3);
    g[3].pb(0);
    g[1].pb(3);
    g[3].pb(1);
    g[1].pb(6);
    g[6].pb(1);
    g[2].pb(3);
    g[3].pb(2);
    g[2].pb(4);
    g[4].pb(2);
    g[2].pb(5);
    g[5].pb(2);
    g[4].pb(5);
    g[5].pb(4);
    g[3].pb(7);
    g[7].pb(3);
    g[6].pb(7);
    g[7].pb(6);
}
