Rupee recovers 23 paise to end at 66.71 against dollar