import java.util.Vector;

public class Digraph  {

    int n, m;
    Vector <Vector<Integer>> outEdges; 
    Vector <Vector<Integer>> inEdges; 

    public Graph (int n) {
        this. n = n;
        inEdges = new Vector<Vector<Integer>> ();
        outEdges = new Vector<Vector<Integer>> ();
        for (int i = 0; i < n; i++) {
            inEdges.add(new Vector<Integer> ());
            outEdges.add(new Vector<Integer> ());
        }
    }
    public void addEdge(int u, int v) {
        outEdges.get(u).add(Integer.valueOf(v));
        inEdges.get(v).add(Integer.valueOf(u));
    }
}