public static int runXORdecryption(){
		int total = 0;
		
		try {
			int key1, key2, key3;
			
			// Read the ciphertext into a string and then split it into a list.
			String cipher = new String(Files.readAllBytes(Paths.get("src/Misc/cipher1.txt")), StandardCharsets.UTF_8);
			List<String> cipherLetters = Arrays.asList(cipher.split(","));
			List<Integer> row1 = new ArrayList<Integer>(), row2 = new ArrayList<Integer>(), row3 = new ArrayList<Integer>();
			
			// Split the list of characters into 3 groups
			for(int i = 0; i < cipherLetters.size(); i+=1){
				row1.add(Integer.parseInt(cipherLetters.get(i)));
				i++;
				if(i < cipherLetters.size())
					row2.add(Integer.parseInt(cipherLetters.get(i)));
				i++;
				if(i < cipherLetters.size())
					row3.add(Integer.parseInt(cipherLetters.get(i)));
			}
 
			// Find the key for each group.
			key1 = getProbableKey(row1);
			key2 = getProbableKey(row2);
			key3 = getProbableKey(row3);
			
			// Decode the ciphertext and find the sum.
			for(int i = 0; i < cipherLetters.size(); i+=1){
				total += key1^Integer.parseInt(cipherLetters.get(i));
				i++;
				if(i < cipherLetters.size())
					total += key2^Integer.parseInt(cipherLetters.get(i));
				i++;
				if(i < cipherLetters.size())
					total += key3^Integer.parseInt(cipherLetters.get(i));
			}
			
			
		} catch (IOException e) {
			e.printStackTrace();
		}
			

		return total;
	}