static int dfs(int node, int num){
		if(visited[node]) return num;
		num++;
		visited[node]=true;
		for(int neighbor: g.get(node)){
			if(!visited[neighbor]){
				num = dfs(neighbor, num);
			}
		}
		return num;
	}