in reply to secret santa
As has been pointed out, if you only need one derangement, it's better to simply shuffle the array (as you're doing - FY) and then simply rotate the copy.