private void Execute(){
		if(!GoodString()){
			OriginalInput = 'X'; return;
		}
		if(!ProperPermOrCycle()){
			OriginalInput = 'X'; return;
		}
		if(isCycle()){
			if(!ProperCycle()){
				OriginalInput = 'X'; return;
			}
			if(!CorrectTokensCycleDecomp()){
				OriginalInput = 'X'; return;
			}
			CycleDecompOutput = StringToCycleDecomp();
			if(!CorrectCycleDecomp(CycleDecompOutput)){
				OriginalInput = 'X'; return;
			}
			OriginalInput = 'C'; return;
		}
		else{
			if(!ProperPerm()){
				OriginalInput = 'X'; return;
			}
			PermutationOutput = StringToPerm();
			if(!Correct(PermutationOutput)){
				OriginalInput = 'X'; return;
			}
			OriginalInput = 'P'; return;
		}
	}