Please Login or Register to get full access to the forums.

Lost Password?
Current time: 12-30-2024, 10:16 AM (time should display as Pacific time zone; please contact Admin if it appears to be wrong)                                                                


X-treme Wrestling Federation »  RP Archive » Archives » Heavey Metal Weight Championship
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
If you escape this pin who will know ?
Author Message
⤤⇝ℰⱱεℛℑȓųšƬ⇜⤣ Offline
░▒▓ ℰvεℛ ℑrušt™ ▓▒░



XWF FanBase:
(.Awaiting user update)


#1
03-09-2014, 08:51 PM
















[Image: Scorpin.png]




#DickToFaces

Hate Post Like Post
⤤⇝ℰⱱεℛℑȓųšƬ⇜⤣ Offline
░▒▓ ℰvεℛ ℑrušt™ ▓▒░



XWF FanBase:
(.Awaiting user update)


#11
03-09-2014, 09:57 PM

pin

Hate Post Like Post
Scorpio Offline
Dick Of Doom



XWF FanBase:
Teens, some men, few kids

(cheered BECAUSE they break rules and bones)


#12
03-09-2014, 09:57 PM

Scorpio kicks out of the Iframe pin and pintuitively again just for shits and giggles.


[Image: Scorpin.png]




#DickToFaces

Hate Post Like Post
Scorpio Offline
Dick Of Doom



XWF FanBase:
Teens, some men, few kids

(cheered BECAUSE they break rules and bones)


#13
03-09-2014, 10:00 PM



[Image: Scorpin.png]




#DickToFaces

Hate Post Like Post
Scorpio Offline
Dick Of Doom



XWF FanBase:
Teens, some men, few kids

(cheered BECAUSE they break rules and bones)


#14
03-09-2014, 10:01 PM



[Image: Scorpin.png]




#DickToFaces

Hate Post Like Post
⤤⇝ℰⱱεℛℑȓųšƬ⇜⤣ Offline
░▒▓ ℰvεℛ ℑrušt™ ▓▒░



XWF FanBase:
(.Awaiting user update)


#15
03-09-2014, 10:02 PM

pinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpin

Hate Post Like Post
Scorpio Offline
Dick Of Doom



XWF FanBase:
Teens, some men, few kids

(cheered BECAUSE they break rules and bones)


#16
03-09-2014, 10:04 PM

(03-09-2014, 09:57 PM)I - Evertrust Said: pin

KICKOUT!














[Image: Scorpin.png]




#DickToFaces

Hate Post Like Post
⤤⇝ℰⱱεℛℑȓųšƬ⇜⤣ Offline
░▒▓ ℰvεℛ ℑrušt™ ▓▒░



XWF FanBase:
(.Awaiting user update)


#17
03-09-2014, 10:05 PM

pinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpins

Hate Post Like Post
Scorpio Offline
Dick Of Doom



XWF FanBase:
Teens, some men, few kids

(cheered BECAUSE they break rules and bones)


#18
03-09-2014, 10:09 PM

(03-09-2014, 10:02 PM)I - Evertrust Said: pinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpin



KICK THE FUCK OUT!

















[Image: Scorpin.png]




#DickToFaces

Hate Post Like Post
⤤⇝ℰⱱεℛℑȓųšƬ⇜⤣ Offline
░▒▓ ℰvεℛ ℑrušt™ ▓▒░



XWF FanBase:
(.Awaiting user update)


#19
03-09-2014, 10:11 PM

pinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinss

Hate Post Like Post
Scorpio Offline
Dick Of Doom



XWF FanBase:
Teens, some men, few kids

(cheered BECAUSE they break rules and bones)


#20
03-09-2014, 10:14 PM

(03-09-2014, 10:05 PM)I - Evertrust Said: pinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpins

KICK THE FUCK OUT AGAIN!























































































































































[Image: Scorpin.png]




#DickToFaces

Hate Post Like Post
Scorpio Offline
Dick Of Doom



XWF FanBase:
Teens, some men, few kids

(cheered BECAUSE they break rules and bones)


#21
03-09-2014, 10:17 PM

Oh look new pin in the title, KICK OUT!
























































































































[Image: Scorpin.png]




#DickToFaces

Hate Post Like Post
⤤⇝ℰⱱεℛℑȓųšƬ⇜⤣ Offline
░▒▓ ℰvεℛ ℑrušt™ ▓▒░



XWF FanBase:
(.Awaiting user update)


#22
03-09-2014, 10:18 PM

pinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinsss

Hate Post Like Post
Scorpio Offline
Dick Of Doom



XWF FanBase:
Teens, some men, few kids

(cheered BECAUSE they break rules and bones)


#23
03-09-2014, 10:28 PM

(03-09-2014, 10:18 PM)I - Evertrust Said: pinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinsss

KICKOUT!



[Image: Scorpin.png]




#DickToFaces

Hate Post Like Post
⤤⇝ℰⱱεℛℑȓųšƬ⇜⤣ Offline
░▒▓ ℰvεℛ ℑrušt™ ▓▒░



XWF FanBase:
(.Awaiting user update)


#24
03-09-2014, 10:30 PM

pinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinssss

Hate Post Like Post
Scorpio Offline
Dick Of Doom



XWF FanBase:
Teens, some men, few kids

(cheered BECAUSE they break rules and bones)


#25
03-09-2014, 10:33 PM

(03-09-2014, 10:30 PM)I - Evertrust Said: pinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinpinssss

KICKOUT!



[Image: Scorpin.png]




#DickToFaces

Hate Post Like Post




Users browsing this thread: 1 Guest(s)