Rupee touches three-week high of 86.91 against the US dollar