	vector <vector <int>> G(N);
    for (unsigned int i = 0; i < V; i++) {
        unsigned int u, v;
        cin >> u >> v;
        G[u - 1].push_back(v - 1);
        G[v - 1].push_back(u - 1);
    }
	
	
    vector <vector <bool>> G(N, vector <bool> (N, false));
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            int tmp;
            cin >> tmp;
            G[i][j] = tmp;
            if (tmp) edges ++;
        }
    }