public Pokemon chooseBest()
	{
		if(team.size() == 0 || otherTeamPossibilities.size() == 0)
			return null;
		double topscore = 0;
		Pokemon top = team.get(0);
		for(Pokemon poke : team)
		{
			System.out.println("Pokemon "+poke.getName());
			double pokescore = 0;
			double speciesscore = 0;
			double speciescount = 1;
			for(int i = 0; i < otherTeamPossibilities.size();i+=3)
			{
				double score = getScore(poke,otherTeamPossibilities.get(i),otherTeamPossibilities.get(i+1),otherTeamPossibilities.get(i+2));
				Pokemon hello = otherTeamPossibilities.get(i);
				System.out.println("Score against species "+hello.getName()+" with Ability "+hello.getAbility().getName()+" is "+score);
				speciesscore += score;
				if(otherTeamPossibilities.size() < i+4 ||
						!otherTeamPossibilities.get(i+4).getSpecies().equals(otherTeamPossibilities.get(i).getSpecies()))
				{
					pokescore += speciesscore/speciescount;
					System.out.println("The score for species "+otherTeamPossibilities.get(i).getSpeciesName()+": "+speciesscore/speciescount);
					speciesscore = 0;
					speciescount = 1;
				}
				else speciescount++;
			}
			System.out.println("Pokemon "+poke.getName()+": "+pokescore);
			if(pokescore > topscore)
			{
				top = poke;
				topscore = pokescore;
			}
		}
		System.out.println(topscore);
		return top;
	}