public static void main(String[] args) throws IOException
      { 
      	//read in data for different kinds of classes
         BufferedReader citizenReader = new BufferedReader(new FileReader("citizen.txt"));
         //BufferedReader resourceReader = new BufferedReader(new FileReader("resourcepool.txt"));
         BufferedReader govtReader = new BufferedReader(new FileReader("govt.txt"));
         PrintStream p = new PrintStream(new FileOutputStream("resultsGA.txt")); //include resourcepool and govt # in output
         PrintStream goutput = new PrintStream(new FileOutputStream("govtrackerGA.txt")); //track wealth over time
         PrintStream coutput = new PrintStream(new FileOutputStream("cittrackerGA.txt")); //ditto
      	
      	//Create population
         int n = Integer.parseInt(citizenReader.readLine());
         Citizen[] people = new Citizen[n];
         for(int i = 0; i<people.length;i++)
         {
            int x = 0;
            double[] d = new double[5];
            StringTokenizer st = new StringTokenizer(citizenReader.readLine());
            while (st.hasMoreTokens()) {
               String s = st.nextToken();
               d[x] = Double.parseDouble(s);
               x++;
            }
         
            people[i] = new Citizen(d[0], d[1], d[2], d[3], d[4]);
         }
         citizenReader.close();
      
      	//Set of Governments
         n = Integer.parseInt(govtReader.readLine());
         Government[] govts = new Government[n];
         for(int y = 0; y<govts.length;y++)
         {
            int x = 0;
            double[] d = new double[10];
            StringTokenizer st = new StringTokenizer(govtReader.readLine());
            while (st.hasMoreTokens()) {
               String s = st.nextToken();
               d[x] = Double.parseDouble(s);
               x++;
            }
         
            govts[y] = new Government(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7], d[8]);
         }
         govtReader.close();
      
         population = people;
         
         Government[] sortedGs;
         double[][] results = new double[govts.length][generations];
      	
         sortedGs = iterate(MONTHS, govts,people, results, goutput, coutput, 0); //run genetic algorithm, run test again
         for(int r = 0;r<govts.length;r++)
            for(int c = 0;c<generations;c++)
            {
               p.println(r + " " + c + " " + results[r][c]);
               //System.out.println("ASDF");
            }
      	
      }