Joke blog for being a joke on bloating a blog to a certain number of bites.
339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339