http://www.bearcave.com/random_hacks/permute.html Calculating Permutations and Job Interview Questions