public static void optionA(String filename) {
		File file = new File(filename);
		Scanner in = null;
		try {
			in = new Scanner(file);
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		}
				        
        try {
            
        	N = Integer.parseInt(in.nextLine());
        	System.out.println("N is " + N);            
            int id=0;
            int outCount = 0;
            int inCount = 0;
        	while (in.hasNext()) {
        		        		
        		String[] info = new String[8];       // create string array to store info of a city
        		info[0] = String.valueOf(id);          // info[0] = id                                
                               
        		String[] field = in.nextLine().trim().split(", "); 
        		info[1] = field[0];        		
                
                in.useDelimiter("\\s");                 // reset Delimiter to space
                               
                
                if (field.length > 1) {             	
                info[2] = field[1];
                } else {
                	info[2] = "X";
                	info[1] = info[1].substring(0, info[1].length() - 1);
                }   //info[2] = State                
                
                info[3] = in.nextLine();                 
                info[4] = in.nextLine();                
                info[5] = String.valueOf(outCount);                      
                info[6] = String.valueOf(inCount);                       
                info[7] = "-";                        
                
                st.put(id, info);                  //st key=id                
                st3.put(info[1], info);            //st3 key = city
                
                String[] cities = new String[101];    //st2 key = State (Assume each State has max of 101 cities)
                		                      //create array for cities in the state
                cities[0] = "1";
               
                if (st2.contains(info[2])) {                	
                	cities[0] = String.valueOf((Integer.valueOf(st2.get(info[2])[0])+1));
                	int cc =  Integer.valueOf(cities[0]); //cc = city counts
                	for (int j=1; j < cc  ;j++) {
                		cities[j] =st2.get(info[2])[j];            			                		
                	}
                	cities[cc]=info[1];	
                	
                }
                else cities[1] = info[1];                
                st2.put(info[2], cities);                
                id++;  //define id of a city
            }
        	         
        	//==================== option a ============================
            System.out.println("====== a ========"); 
            System.out.println("---------------------------------------------------------------------------");
            System.out.println("Print ST trees");
                        
            System.out.println("ST tree- Key:city id  Value:info");
            for (int s : st.keys()){
          
            System.out.println(s + " : " + st.get(s)[0]+" "+st.get(s)[1]+" "+st.get(s)[2]+" "+st.get(s)[3]+" "+st.get(s)[4]+" "+st.get(s)[5]+" "+st.get(s)[6]+" "+st.get(s)[7]);
            }
            System.out.println();
                     
            //================== construct Graph====================
            System.out.println("======Construct Graph========");  
            
            G = new MyGraphMap(N,0); // == MyGraphMap(N)

            for(int k=0;k<G.st4().size();k++){
            	int k_out = G.st4out(k);
            	int k_in = G.st4in(k);
            	int[] update ={k_out, k_in, 0};
            	st5.put(k, update);
            	
            }
                        
            System.out.println(G);
            System.out.println();
            System.out.println("number of edges E :" + G.E());
            System.out.println("number of veritcies V :" + G.V());   
            
        }catch (Exception e) { System.out.println(e); }
        System.out.println("==========================");
        System.out.println();
		
	}