public ArrayList<RunePage> generateAllPages(ArrayList<Rune> marks, ArrayList<Rune> quints) {
		ArrayList<RunePage> pages = new ArrayList<RunePage>();
		
		RunePage tempPage = new RunePage();
		tempPage.fillPage(marks.get(0), quints.get(0));
		pages.add(new RunePage(tempPage));
		List<Rune> thisMarks = tempPage.getMarks();
		List<Rune> thisQuints = tempPage.getQuints();
		
		//Loop through marks
		for(int markToSet = 1; markToSet < marks.size(); markToSet++) {
			//Loop through and set mark
			for(int markSlotsFilled = 0; markSlotsFilled < MARK_SLOTS; markSlotsFilled++) {
				thisMarks.set(markSlotsFilled, marks.get(markToSet));
				pages.add(new RunePage(tempPage));
				//Loop through quints
				for(int quintToSet = 1; quintToSet < quints.size(); quintToSet++) {
					//Loop through and set quint
					List<Rune> tempQuints = new ArrayList<Rune>();
					tempQuints.addAll(thisQuints);
					for(int quintSlotsFilled = 0; quintSlotsFilled < QUINT_SLOTS; quintSlotsFilled++) {
						thisQuints.set(quintSlotsFilled, quints.get(quintToSet));
						pages.add(new RunePage(tempPage));
					}
					//Reset Quints
					thisQuints.removeAll(thisQuints);
					thisQuints.addAll(tempQuints);
				}
			}
		}
		//TEST PRINT
//		System.out.println("NumOfPages: " + pages.size());
//		for(int i = 0; i < pages.size(); i++) {
//			System.out.print("P" + i + " ");
//			pages.get(i).printPage();
//		}
		return pages;
	}