public class Graph {
	java.util.List vertices;
	java.util.List edges;
	java.util.List labels;
	
	/** Creates a new instance of Graph */
	public Graph() {
		vertices = new java.util.LinkedList();
		edges = new java.util.LinkedList();
		labels = new java.util.LinkedList();
	}

	void add(Vertex u) {
		vertices.add(u);
	}

	void add(Edge e) {
		edges.add(e);
		e.u.edges.add(e);
		e.v.edges.add(e);
	}

	public Vertex get(int i) {
		return (Vertex) vertices.get(i);
	}
}

class Edge {
	Vertex u;
	Vertex v;

	Edge() {
	}

	Edge(Vertex u, Vertex v) {
		this.u = u;
		this.v = v;
	}
}

class Vertex {
	java.util.List edges;
	int ring, left, right;

	Vertex(int ring, int left, int right) {
		java.util.List edges = new java.util.LinkedList();
		this.ring = ring;
		this.left = left;
		this.right = right;
	}
}
