typedef struct graph *Graph;

typedef struct { int x; int y; } Point;
Point POINT(int x, int y);
typedef struct { int v1; int v2; } Edge;
Edge EDGE(int v1, int v2);

Graph GRAPHinit(int V);
  int GRAPHcntV(Graph);
  int GRAPHcntE(Graph);
 void GRAPHinsertE(Graph, Edge);
 void GRAPHinitV(Graph, int, Point);
 void GRAPHremoveE(Graph, Edge);
 void GRAPHsearch(Graph, void (*visit)(Edge));
 void GRAPHshow(Graph);

