import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class ImpGraph extends AbstractGraph {
	final List<List<Edge>> nodes;
	final List<NodeData> data;

	public ImpGraph(int n){
		nodes = new ArrayList<List<Edge>>(n);
		data = new ArrayList<NodeData>(n);
		for (int i = 0; i < n; i++) {
			nodes.add(new LinkedList<Edge>());
			data.add(new NodeData(0));
		}
	}
	
	public List<List<Edge>> getNodes() {
		return nodes;
	}
	
	public NodeData getData(int x) {
		return data.get(x);
	}
}
