how long does stomach virus last