Vigenere and hill climber algorithms