 
     // Nested vector used to store read file into adjacency list
     std::vector< std::vector<int> > adj_list;
-    
+
     // Input network file provided by user
     // File format assume to be edge list
     std::ifstream infile(argv[1]);

	int u, v, edge_count = 0, max = -1;
	while (getline(infile, su, '\t') && getline(infile, sv)) {
        // Node ids assumed to be 1-indexed and decremented to be 0-indexed
        u = std::stoi(su) - 1;
        v = std::stoi(sv) - 1;

        // Dynamically add empty vectors as nodes are found in edge list
        int new_max = u > v ? u : v;


    // Create and initialize CUDA thread output structs
    std::vector<EDGE_OUTPUT> outputs(E_num);
    outputs.resize(E_num);

    // Pointers of V, E_u, E_v, and edge outputs in GPU memory
    int* V_ptr;
