how long does stomach flu last