how long does the flu last