Ringgit rises to 3-month high, jumps to 2.91 to Singdollar