private boolean Correct(int[] perm){
		if(perm.length != n+1){
			return false;
		}
		
		/*The variable "used" is used to ensure that we have a permutation in 
		 * 	proper raw form. 
		 */
		int[] used = new int[perm.length];
		for(int j = 1; j < perm.length; j++){
			used[j] = 0;
		}
		
		for(int j = 1; j < perm.length; j++){
			if(perm[j] > n || perm[j] < 1){
				return false;
			}
			used[perm[j]]++;
		}
		for(int j = 1; j < perm.length; j++){
			if(used[j] != 1){
				return false;
			}
		}
		return true;
	}