PSX gains 182 points to close at 46097 points