Advertising

3ALKoS

Über mich

Willkommen auf meiner GTAinside Benutzerseite! Hier findest du Informationen über mich und mein Leben in Los Santos und Liberty City. Falls doch Fragen hast, schreib mir doch einfach eine Private Nachricht.

Cheers!
3ALKoS

Kontakt
Werbung
Meine Freunde (0)
Keine Freundschaften bisher vorhanden.
Werbung
Mein Rang
I have 1 rank points.(?)

Mein GTAinside Rank ist
und ich werde

"Vic"

genannt.
Meine Statistiken
Kommentare:
News: 0
Downloads: 1
Videos: 0
Total: 1
Modifikationen:
Veröffentlicht: 0 Mods
Total: 0 Downloads
Durchschnitt: 0 Downloads
Userpage:
810 Views
Letztes Mal online:
07.07.2018, 21:40
Meine letzten Aktivitäten
Keine letzten Aktivitäten.
Meine Mods

Bisher noch keine Mods hochgeladen.

Letzten Kommentare (1)
Extreme Tsunami For Android
DaffaGaming | 03.09.2017 | 50898

3ALKoS
"Vic"
Vic
Kommentare: 1
03.09.2017

craycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycraycray:cr