public String findAlgorithm(Cube cube, TileColor c1, TileColor c2) {
		int rotation = 4 - (c1.getInt() < 3 ? c1.getInt() - 1 : c1.getInt() - 2);
		String top = "";
		for (int k = 0; k < 4; k++) {
			for (int i = 1; i < F2L.length; i++) {
				String alg = F2L[i];
				Cube cubeClone = cube.clone();
				for (int j = 0; j < rotation; j++)
					alg = Cube.rotateAlgorithm(alg);
				cubeClone.doAlgorithm(alg);
				if (isCorrect(cubeClone, c1, c2)) {
					cube.doAlgorithm(alg);
					return top + alg;
				}
			}
			top += "U,";
			cube.turn(Turn.U);
		}
		return "";
	}