Advertising

3ALKoS

About Me

Welcome to my GTAinside userpage! Here you find some information about my live in Los Santos and Liberty City. If you have any further questions, don't hesitate to contact me by a Private Message.

Cheers!
3ALKoS

Contact Me
Advertising
My Friends (0)
No friendships added yet.
Advertising
My Rank
I have 1 rank points.(?)

My GTAinside rank is
and I'm called:

"Vic"

My Stats
Comments:
News: 0
Downloads: 1
Videos: 0
Total: 1
Modifications: (since 07.11.2012)
Released: 0 mods
Total: 0 downloads
Average: 0 downloads
Userpage:
809 Views
Last online:
07.07.2018, 21:40
My Recent Activities
No Recent Activities
My Mods

No mods uploaded so far.

Recent Comments (1)
Extreme Tsunami For Android
DaffaGaming | 03.09.2017 | 50896

3ALKoS
"Vic"
Vic
Comments: 1
03.09.2017

craycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycray:cr