lololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololollololololololololololol