import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.StreamTokenizer;


public class GraphReader{
    public static Graph readGraph(String fileName) throws IOException {
    	FileReader f = new FileReader(fileName);
    	BufferedReader bf = new BufferedReader(f);
    	StreamTokenizer st = new StreamTokenizer(bf);
    	int n;
    	int l;
    	if (st.nextToken()==StreamTokenizer.TT_NUMBER){
    		n = (int) st.nval;
    	} else throw new IOException();
    	if (st.nextToken()==StreamTokenizer.TT_NUMBER){
    		l = (int) st.nval;
    	} else throw new IOException();
    	ImpGraph g = new ImpGraph(n,l);
    	int x;
    	for (int c = 0; c < l ; c++) {
    		for (int i = 0; i < n ; i++) {
    		    if (st.nextToken()==StreamTokenizer.TT_NUMBER){
    	    		x = (int) st.nval;
    	    	} else throw new IOException();
    		  g.getEdges().get(c).set(i,x);
    		}
    	}
    	return g;
    }
}
    
    
    	
    	
