how long do butterflies live