public static long nombreHarmonisation(
			ArrayList<LinkedList<listeJeux>> listeGeneraleJeux) {
		long nbHarmonie = 0;

		Iterator<listeJeux> itInit = listeGeneraleJeux.get(
				listeGeneraleJeux.size() - 1).iterator();
		while (itInit.hasNext()) {
			listeJeux actuelInit = itInit.next();
			actuelInit.setValeurfinale(1);
		}

		for (int i = listeGeneraleJeux.size() - 2; i >= 0; i--) {

			Iterator<listeJeux> it = listeGeneraleJeux.get(i).iterator();
			while (it.hasNext()) {
				listeJeux actuel = it.next();

				Iterator<Entry<listeJeux, Integer>> it2 = actuel.getSuivants()
						.entrySet().iterator();
				while (it2.hasNext()) {
					Entry<listeJeux, Integer> suivActuelEnt = it2.next();
					listeJeux suivActuel = suivActuelEnt.getKey();

					actuel.setValeurfinale(actuel.getValeurfinale()
							+ suivActuel.getValeurfinale());
				}
			}
		}

		Iterator<listeJeux> itFin = listeGeneraleJeux.get(0).iterator();
		while (itFin.hasNext()) {
			listeJeux actuelFin = itFin.next();
			nbHarmonie += actuelFin.getValeurfinale();
		}

		if ((nbHarmonie > 2000000000) || (nbHarmonie < 0)) {
			nbHarmonie = -1;
		}
		return nbHarmonie;
	}