Nifty, Sensex post biggest weekly gain in five months, rising 2%