Help Wikitravel grow by contributing to an article! Learn how.
New users, please see Help or go to the Pub to ask questions.

Mexico

From Wikitravel
Revision as of 22:20, 18 July 2008 by Hiwhispees (Talk | contribs)

Jump to: navigation, search
For other places with the same name, see Mexico (disambiguation).
[[File:noframe|250px|frameless|Mexico]]
Location
[[File:noframe|250px|frameless]]
Flag
[[File:Mx-flag.png|108px|frameless]]
Quick Facts
Capital Mexico City (Distrito Federal)
Government Federal republic
Currency Mexican peso (MXN)
Area 1,972,550 sq km
Population 106,202,903 (July 2006 est.)
Language Spanish, various Mayan, Nahuatl, and other regional indigenous languages
Religion nominally Roman Catholic 89%, Protestant 6%, other 5%
Electricity 120V/60Hz
Country code +52
Internet TLD .mx
This page brought to you by
*** Hiwhispees ***
Got HAGGER?
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
........................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
................................................................................................................................................................................................................................................................................................................................................................
Welcome
to my
Mother Fucking Page
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::;:::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::;;;;:::::;;:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;::;;;;;;;;;;;;:;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;;:,:;;;;;;;;;;;;;';;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;::,,:;;''''''''';;;;;';;:;::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................................``...........................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;:,:;'+++'''++'''';'';;:;;:::;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................````...........................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;;:;'+++'''++';++';;;::;;;;;'';:;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................````...........................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;+;:'+++'''''';;;;;;''''''::;':;'::,;;,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................`````...........................................
,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;+':;+++''';;;;;'''+;++'''+'';:'';::,:,:;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................`````...........................................
,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+':;'''+';;;'+'++'+'++'''''+'''':;'';::,:,;:,,,,,,,,,,,,,,,,,:::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................................``.......................................
,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,:''::'''';;''++++'''''++++##+++''+';::;'''';:,::,,,,,,::::;;;;;;;;;;;;;;;;;;;:;:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................................``.......................................
,,,.......,,,,,,,,,,,,,,,,,,,,,,,''::'''';:;'''';'+'++#########+++'';;:::'''':,,:::,::;;;:::::::::::;;;;::;;;;;;;;;;;;;;;;::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.....................................................`.......................................
,,.........,,,,,,,,,,,,,,,,,,,,;+::;'';;;'+'''+''+#++###':::::'###+'';;:;:'';:;'''+'::,,,:::;;;;;;;;;;;;:::::::::;;;;;;;;;;;;::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................................``......................................
...........,,,,,,,,,,,,,,,,,,;+;:''';:;'+'''''''+@##++',,,,,,,,;+##++'';';':;''';:,,,:::;;;;;;::::::::::::::::::::::::::;;;;;;;;::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................`..............````.....................................
...........,,,,,,,,,,,,,,,,:'+:;'';;;'''''''''+#@+++:,,,,,,,,,,,,,'##+++';;''';;:,:::;;;;;;;;;;::::::::::::::::::::::::::::::;;;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................`````.........```````...................................
...........,,,,,,,,,,,,,,,''':'';;;''''''''+++@#+':,,,,,,,,,,,,,,,,'#+++''+';:::;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::;;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................`````........```````....................................
...........,,,,,,,,,,,,,:''::';;;;''''''+''#@+;,,,,,,,,,,,,,,,,:,,,:#+++++;:,:;;;::::;;;;;;;;;;;::::::::::::::::::::::::::::::::::;;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................``````...`````````......................................
...........,,,,,,,,,,,,:+:::;;;;'''''''#+'@+,,,,,,,,,,,,,,,,,,,,,,,,'#+#':::;;;;;:::::::;;;;;;:::::::::::::::::::::::::::::::::::::::;;;;,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................````````````````````.....................................
...........,,,,,,,,,,,;+:;;'';''''''''+++#:,,,,,,,,,,,,,,,,,,,,,,,,,,#+;::::;;;;::::::::::;;;::::::::::::::::::::::::::::::::::::::::::;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................````````````````````.....................................
...........,,,,,,,,:';::''''+;'';''''+'#;.,,,,,,,,,,,,,,,,,,,,,,,,,,;+;,:::;;;:::::::::::;;:::::::::::::::::::::::::::::::::::::::::::::;:;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................````````````````````.....................................
...........,,,,,,,,',,:,'+;'''''''''+'#;,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,:::;;;;:::::::::::;:::::::::::::::::::::::::::::::::::::::::::::::;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................``````````````````........................................
...........,,,,,,,:':';:;''+'''''''''+,,,,,,,,,,,,,,,,,,,,,,,,,,,:,;::::::::;:::;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................``````````````````........................................
...........,,,,,,,:++;':;;++''''+''++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;::::::::;:::;;:::;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................``````````````````.........................................
..........,,,,,,,,:++;'+;;+''''''+'+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;:::::;:;;;;;:;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................``````````````````..........................................
..........,,,,,,,,,++;+++;''+'''++':,,,,,,,,,,,,,,,,,,,,,,,,,,,,;:::::;;;;;;:::;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:,,,,,,,,,,,,,,,..,,,,,,,,,,,,,...........................```````````````````...........................................
..........,,,,,,,,,'#'++#';'+'''+':,,,,,,,,,,,,,,,,,,,,,,,,,,,,;:::::;;;;:::;:::;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:,,,,,,,,,,,,,.....,,,,,,,,,,,,,.......................```````````````````............................................
..........,,,,,,,,,'#''++#:;++'+';.,,,,,,,,,,,,,,,,,,,,,,,,,,,;::::::::;;::;;::;;::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::;:,,,,,,,,.........,,,,,,,,,,,,,.......................`````````````````..............................................
...........,,,,,,,,;#+'++#':++'+',,,,,,,,,,,,,,,,,,,,,,,,,,,,:;,:::::::::;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::,::,,,,,,,:::::::::::::::,,.,...........,,,,,,,,,,,,,......................`````````````````...............................................
............,,,,,,,:#+;++#+:#+'',,,,,,,,,,,,,,,,,,,,,,,,,,,,:;:::::::::;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,::::::::::::::,.,...........,,,,,,,,,,,,................````..`````````````````................................................
............,,,,,,,,##;#+##:##+;,,,,,,,,,,,,,,,,,,,,,,,,,,,:;::::::::::;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::,.,,........,................,.........````````````````````````.................................................
............,,,,,,,,+#'#+##;+##,,,,,,,,,,,,,,,,,,,,,,,,,,,:;,:::::::::;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::::::::,.......,.............................```````````````````````..................................................
..............,,,,,.:#+'+##''#',,,,,,,,,,,,,,,,,,,,,,,,,,:':::::::::::;;;;;;;;;;;::::::::::::::::::::::::::::::::,:::::::::::::::,,,,,,,,,,,,,,,,,,::::::::::,,.....,,............................`````````````````````.`................................................,,
................,.,,.##''##+;@:,,,,,,,,,,,,,,,,,,,,,,,,,:;;:::::::;;:;;;;;;;;;;;::::::::::::::::::::::::::::::::,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,::::::::,....,,............................`````````````````````.................................................,.,,
..................,,.'#+:;#';@;,,,,,,,,,,,,,,,,,,,,,,,,,;;:::::;;;;;;;;;;;;;;;::;:::::::::::::::::::::::::::::::,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,.,.,..............................``````..``````````..................................................,,,,,
.................,,,,,##;:'''@;,,,,,,,,,,,,,,,,,,,,,,,,;':::::;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::,,,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,.,...............................``````..``````...................................................,.,,,,,,
..................,,..'#'::;##,,,,,,,,,,,,,,,,,,,,,,,,:;:::::;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,..............................`````....````.................................................,,,,,,,,,,,
....................,,,##'+#@'..,,,,,,,,,,,,,,,,,,,,,,;;:::::;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,...............................````......................................................,,,,,,,,,,,,,,,
.......................:#@#@#,,.,,,,,,,,,,,,,,,,,,,,.;'::::::;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,.............................```.......................................................,,,,,,,,,,,,,,,,
......................,.,'++,.,.,,,,,,,,,,,,,,,,,,,,,';:;:::;;;;;;;;;;;;;;;;:::::;:::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,..............................`.......................................................,,,,,,,,,,,,,,,,,
......................,.,....,..,,,,,,,,,,,,,,,,,,,,;'::;::;;;;;;;;;;;;;;;;:;::;;;:::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,....................................................................................,,,,,,,,,,,,,,,,,,
.......................,...,.,,,,,,,,,,,,,,,,,,,,,,,';:;;:;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,..................................................................................,,,,,,,,,,,,,,,,,,,
...................................,,,,,,,,,,,,,,,,;';;;;;;;;;;;;;;;;;;;;;;;;;;::;;;::::::::::::::::::::::::::::::::::::,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::...................................................................................,,,.,,,,,,,,,,,,,,
...................................,,,,,,,,,,,,,,,,'';;;;;;;;;;;;;;;;;;;;;;;;;;:;;;:::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,::::::::..................................................................................,,,,,,,,,,,,,,,,,,
...................................,,,,,,,,,,,,,,,:';;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:::::::::::::::::::::::::::::::::::::,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,:::::::,.................................................................................,,,,,,,,,,,,,,,,,,
....................................,,,,,...,,,,,,;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,::::::::,................................................................................,,,,,,,,,,,,,,,,,,
.....................................,.,.,..,,,,,.''';;;;;;;;;;;';;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,......,,,,,::::::::,..............................................................................,,,,,,,,,,,,,,,,,,,
.................................,,.....,...,,,,,,'';;;;;;;;;;;';;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,:::::::::.............................................................................,,,,,,,,,,,,,,,,,,,,
...............................................,.;'';;;;;;;;;;;';;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,::::::::,...........................................................................,,,,,,,,,,,,,,,,,,,,,
...............................................,.'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,:::::::::,............................................................,...........,,,,,,,,,,,,,,,,,,,,,,,
................................................,'''''';;;;;;';;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,....,,,,::::::::::........................................................................,,,,,,,,,,,,,,,,,,,,,,,
................................................,'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,::::::::::::....................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................:'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,....,,,,,,::::::::::,....................................................................,,,,,,,,,,,,,,,,,,,,,,,,,
................................................;'''''''';;;;;;;;;;;';';;;;;;;;;;;;::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,::::::::::...........................................................,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................;''''''';;;;;;';;;;;;';;;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:,,,:,,,,,,,,,,,,,,,,,,,,,.......,,,,:::::::;:,.........................................................,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................''''''';';;;;;;;;;;;'';;;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,.......,,,::::::::::,........................................................,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................''''''''''';;;;;;;;;''';;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,.....,,,,::::::::::::........................................................,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................'''''';''''';;;;;;;;''';;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,....,,,,,,:::::::::::,......................................................,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................''';'''''''';;;;'';;''';;;;;;;;;;;;;:;::::::::::::::::::::,,,,:,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,:::::::::;:.......................................................,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................''''''''''';;;;''';;''';;;;;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,:::::::::;;,......................................................,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................'''''';''';;;;;''';;''';;;;;;;;;;;;;;;;;;:::::::::::::::::::,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,,::::::::;::.....................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................;''''';;';;;;;;;;;;'''';;;;;;;;;;;;;;;;;;;:::::::::::::::::::,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,:::::;:;;;,......................................,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................:''''';;;;;;;;;;;;;;'''';;;;;;;;;;;;;;;;;;;::::::::::::::::::,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,::::::::;;:...................................,,.......,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................,'''''';'';;;;;;;;;;'''';;;;;;;;;;;;;;;;;;::::::::::::::::::,,::,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,:::::::;;;...........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................,+''''';;';;;;;;;;;;;'''';;;;;;;;;;;;;;;;:::::::::::::::::::,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,:::::::;;;:..........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................'''''';''';';;;;;;;;;''';;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,::::::::;;:....................................,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................;'''''''''';;''';;;;;;''';;'';;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,:::::::;;;,..................................,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................:+'''';''';;''''';;;;;''';;'';;;;;;;;;;;;;:::::;;;:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,,,:::::::;;;:..................................,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................,+''''''';;;''''';;;;;''';;';;;;;;;;;;;;;;;;::;;;;;;::::::::::::::::::::::::::,::,,,,,,::,,,,,,,,,,,,,,,,,,....,,,....,,,,::::::;;;;,.................................,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................;'''''';;;;;'';;;;;;;'''';'';;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,.....,,,,::::::;;;;,.................................,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................:''''''';';;;;;';;;;;''''';'';;;;;;;;;;;;;;;;;;;;:;:::::::::::,::::::::::::::::::::,,,,,,:,:,,,,,,,,,,,,,,,,,,,,,,...,,,,,:::::;;;;:.........,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,
................................................,,.''';''';''''';';;;;'''''';';;;;;;;;;;;;;;;;::::::::::::::::::::::,:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,.,,,,,::::::;;;;,.......,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................,.:+'''''';''';;'';;''''''''';;;;;;;;;;;;;;;;::::::::::::::::::::::,:::::::::::::::::,,,,,,,,:::,,,,,,,,,,,,,.........,,,,,::::::;;;;:.....,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................,,;''''''''';'''';;;'''''''';;;;;;;;;;;;;;;:::::::::::::::::::::,:::::::::::::::::::,,,,,,,,::::,,,,,,,,,,...........,,,,,::::::;;;;:,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................,,,''+'''''''''''';;;;'''''';;;;;;;;;;;;;;:::;;::::::::::::::::::::::::::::::::::::::,,,,,,,:::::,,,,,,,,,,...........,,,,,:::::;;;;;,...,...........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................,,.:''+''''';'''''';;;''''''';;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::,,,,,,,::::::,,,,,,,,.............,,,,:::::;;;;;,...,...........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...................................................,,.:+'''''''''''''';'''''''';;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::,,,,,,,....,...,,,,,,,,,,::::;;;;;:...............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....................................................,,;'++'''''''''''''''''''''';;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,:,,,,,,,,..,....,,,,,,,,,,::::;;;;;;............,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....................................................,,,'+++''''''''''''''''''''';;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,......,,,.,,,,,,:::::;;;;;,,...........,,....,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......................................................,.:+++++'''''''''''''''''''';;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:,,,,,,,,,.......,,,,,,,,,:::::;;;;;,............,,,..,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.......................................................,,:+'+++''''''''''''''''''';;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,:::,,,,,,,,,........,,,,,,,:::::;;;;;,...........,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..........................................................:'+++'''''''';''''''''''';;;;;;;;;;;;::::::;::::::::::::::::::::::::::::::::::::,,::,,,,:::::::,,,,,,.......,,,,,:,,:::::;;;;;:...........,,.,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.........................................................,.,'+'+++'''''''''''';;';;;;;;;;;;;;;;;;::;;::::::::::::::::::::::::::::::::::::::::,,:::::::::::::,,,.......,,,,,::,::::::;;;;:........,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
........................................................,.,..:'+++'''';''''''';;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::,,:::::::::::::::,,,,..,,,,,,,:::::::::::;;;:,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
............................................................,.,;+++''''''''''';;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,:::::::::::::;;;,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.........................................................,..,.,,:'++''''''''''';;;''';;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,::::::::::::::;;;,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,.:+'+'''''''''';;;'''';;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::,:::::::::;;;:,.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............................................................,,,.;++''''''''''';;;''';;;;;;;;;;;;;;;:::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::;;;:..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,,,.;++'''''''''';;;;'';;;;;;;;;;;;;;;:::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::;;;:.,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................................,,++'''''''''';;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,::::::::;;;,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................................,..+'+'''''''''';;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::::;;;,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................................,..''+'''''''''';;;;;;;;;;;;;;;;;::;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,::::::;;;,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................................................................''''''''''''';;;;;;;;;;;;;;;;:::;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::,,:::::;;;:,,,,,,,..........,..,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................................................................'''''''''''''';;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::::::::;;;:.,,,,,,..,......,...,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................................,.,,''''+''''''''''';;;;;;;;;;;;;;;;:;::::;:::::::::::::::::::::::::::::::::::::;;;;::::::::::::,,,,,,,,,,,,,,::::,:::;;;;:,,,,,................,,,,,,,.,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...................................................................:''''+''''''''''';;;;;;;;;;;;;;::::::::;::::::::::::::::::::::::::::::::::::;;;::;:::::::::,,,,,,,,,,,,,,,,,:::::::;:;;:,,,,,................,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...................................................................;'''''''''''''''';;;;;;;;;;;;;;::;;;:;;;;::::::::::::::::::::::::::::::::;;;:::::::::::::,,,,,,,,,,,,,,,,,,,,:::;;:;:;;;,,,,,................,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................................,.,''''''''''''''''';;;;;;;;;;;;;;::;;;;;;;;::::::::::::::::::::::::::;;;;;;;;;:;:::::,,,::::,,,,,,,,,,,,,,,,,,,,::;;;;:;;;,,,,,....,,,,........,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,..:''''''+''''''''''';;;;;;;;;;;;;;;;;;;;;;:;;::::::::::::::::::::::;;;;;;:;:;;:;:::,,,,,,::::;:::::::,,,,,,,.,,,:::;;;;;;;,,,,,,,..............,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,,,;'''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::;;;;;;;:;;;;;;::,,,,,,:;::::;::::::::::,,,.,,,,,::;;;;;;,,,,,,,...............,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................................;''';;''''''''''''''';;;;;;;;;;;;;;;;;;;;;;::::::::::;;:::::::;;;;;;;;;:;;;:::::,,,,,,:::;;;;;;:;;;;;;;;;::::,.,,,,::;;;;;:,,,,,,,.......................................,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................................:'''';;'''';'''''''''';;;;;;;;;;;;;;;;;;;;;;;:;;:::::;;:::::::;;;;;;;;;;;;;::::::,,:::;;;;;;;;;;'''';;'''';;:;::,,,,,:::;;;:,,,,,,,,................................................,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,''''';''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;::;:::;;;;;;;;;;;;;;;;;::::::::::;;;;;;;;'''''''+++''''''''';;;:,.,,:::;;;,,,,,,,,....,,,............................................,,,,,,,,,,,,,,,,,,,,
.............................................................,,'''';;';'''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;:::::::;;::;;;;;'''''';;;'''';;;:::;'''';;;,,,,,:;;;,,,,,,,,,,,,,,,.............................................,,,,,,,,,,,,,,,,,,,
..............................................................;''';';';;''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;::;;;;;;'''''';;;;;;;;;;;:,,,,,:;''+'';,,,,,,;;:,,,,,,,,,,,,,,...................................................,,,,,,,,,,,,,
.............................................................;'';;;''';;'''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;''''++';;:::::,:;;:......,,;''+''':,,,,:;:,,,,,,,,,,,,,,.....................................................,,,,,,,,,,,
..........................................................,.;'';;;''';;'''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;';''+'+'';;::,,....::,........,:'''++';,,.,:;,,,,,,,...............................................................,.,,,,,,
...........................................................:';;;;;''';;''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;;;';''++''''';;:,.......,,..........,;;::;+';,,,,;:,,,,,,...........................................................,...,...,,,,
..........................................................,';;';;''';;';'''';''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:;::::;;;;;;';'+'''';;;';,......`...,...........;,...:+'':,,:;,,,,,........................................................................
.........................................................,;;;;;;;'';;;;;;;;;'''';'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;::::::;;;'''''++''';::::;,,......`...:........```;,...`;'+':,,;;,,,.........................................................................
......................``................................,;;;;;;;;';;;;;;'';;;;;;;;;'';'';;;;;;;;;;;;;;;;;;;;;;;;;::;::::;;;;;;::::;;;;;;;''''''';:,,,,,::.`.....``.`:.........``;,..`.:;''':::;.,..........................................................................
....................````................................;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;:;;;::::::;;;;::::;;;;';'''''''';:,....,:;.......``..:.........``;....`;.:;''::',...........................................................................
...................``````..............................;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;:::::::;;:::::;;;';''+'';;;'':,...`..,;.....``....;,......````',...`;`..''',;:...........................................................................
..................```````.............................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;:::::;;;'''++'';:::;',....`..,',.....``.,:;,.....`````+,..``;```;:';:;...........................................................................
................````.................................;;;;;;;;;;;;;;;;;;;;;::::::::::;;;;;;;;;;;;;;:;;::;;;;:::::;::::::::::::;;;;''+++';;:,,.,;........:#':......,;+++:.....`.`.+:.```;``.',:';;...........................................................................
................```................................,;;;;;;;;;;;;;;;;;;;:::::::::::::::::::;;;;;:::::::::::::::::::::::::::;;;;;;''++;:;;:,...:;,,....`,+++++'''+'+++++#+++'''++#+',```;`.`'`:++;...........................................................................
.............```````````````......................,;;;;;;;;;;;;;;;;;;;:::,,,:::::::::::::::::::::::::::::::::::::::::::::;;;'';'++;:::::,....,+',....;+++##+##+++++++++++++++++++#++#+#;``;`:'':...........................................................................
............````````````````.....................:';;;;;;;;;;;;;;;;;:::,,,,,,,,,::::::::::::::::::::::::::::::::::::::::;;;';;'++'::,,:;,....:#++##########+####++++++++++++#+++######++,,;`;'',...........................................................................
.............``````````````````.................:';;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::;;;'';'++';',,..:;:,,,:+#+##+++++++#++++++##+++#+++++++++++++''+#+''+.'':............................................................................
.............```````````````````...............;';;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::;;;'''''+';:;'...`:''''++++++++++++++#++++++++++++++++++++++++++++++'++'+:,............................................................................
.............`````````````````````............';;;;;;;;;;;;;;;;;;;:::,,,.,,,,,,,,,,,,,,,::::,:::::::::::::::::::::;;;;''++++';::;+....;++++++++++++#+++++++++++++++++++++++++++++++++++++++#+..........................................................`...`...............
.............```````````````````````.........;;;;;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::;;;;'''+++'':,,,;#',:'+++++++++++++++##++++++++''+++++++++++++++++++++++++;;;.........................................................`..``................
........`````````````````````````````.......';;;;;;;;;;;;;;;;;;;;;::,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::;::::;;;;;''++++';':,,,'+'+++++++++++++++++++++++++'+'''''''++++''+++++++++++++++'::......................................................``.`.,,.``..............
.......`````````````````````````````.......';;;;;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::;::::;;;;;;''+++';;;+';:;+++++++++++''''''''++++++++''''++'''''+'';;;'+++++++++++++;:,.....................................................````...,.``..............
....```````````````````````````````.......';;;;;;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::::;;;;;;''++++;::;++++++++++++++''''''''''';;'+++'''++''''''';';;'';;'++#+++++++++;:,.....................................................````.....````............
.....`````````````````````````````.......;';;;;;;;;;;;;;;;;;;;;;;;::,,,,,,,::::,,,,,,,,,,::::::::::::::;;;;;;;'''++++''++#+++++++++++++''''''''';;;;;;;'+++++++''';;;;:::;;;,;;'++++++'+++;:,.....................................................````...,.`````...........
...```````````````````````````````......:';;;;;;;;;;;;;;;;;;;;;;;:::,,::::::::::,,:,,,,,,,:::::::::::;;;;;;;'''+++++++++++++++++++++''''+'''''';;;;;;;;;;''+'''';;;;::::::::;,;;;+:;++++''',;....................................................``````.`..`````...........
...```````````````````````````````..`..:';;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::,::::::::::::;;;;;;;;''+++#++++++++++++++'''''''''''''''';;;;;;:::;;;;++''';:;::::::::::::;;+';'+#''+:'...................................................```````.``.`````...........
...````````````````````````````````...,';;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::;;;;;;'''++++++++++++++++'''''''''''''''''';;;;;;::,,,::;;'++'';;:::::::::::::;;++,.:+;';;...................................................```````. `.``````..........
...`````````````````````````````.``..,';;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;;:::::::::::::::::::::;;;;;'''+#+++++++++++++''''''''''''';;''';;;;;;;;:::::::::;;;'+'';:::,:,::::::,::;'.,..;;;;,.................................................```````..`..```````....```..
...``````````````````````````````.`..';;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;:::::::::::::::::::;;;;;;''+##+++++++++++++''+'''''''''''''';;;;;;;:;;:::::,:,,::;;''';;::,:,,,:::::,.;;+':,,`.,:,..............................................`````````.....````````````````
...```````````````````````````````..;';;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;:::;::::::::::::;;;;;;''''+##++++++++++++'''''''''''''''''''';';;;::;;:::,:,,:::,::;''';;:,,,:::::::::::::;':..::;..............................................`````````.....````````````````
...``````````````````````````````.`:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::::::::'';;:;;;;;;;::;;;;;;;''''+#+++++++++++++#++++'''''''''''';;;''''';;;;:;;::,,:,:::::::;;'';:::::::::::::,:::,;+;:` .,...........................................```````````.....````````````````
..````````````````````````````````:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::::::::::'';;;;;;;;;;;;;;;'''''+#++'''+++++++++++++++''''''''''''''';;;;'';;;;;:::::,:::::::::;;';;:::::::::;;;:::.,;';, `.,..........................................````````````.....````````````````
..```````````````````````````````.'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::'+;;';';;'';''''''+##+++:....,++''++++++++++'+''''''''''''';;;;;;;;;;::::::::::::::::;;;;;::::::::::::,,,:;++``.,,.....................................`````````````````.....````````````````
..```````````````````````````.```;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;++'';''''''''+###+';';,.....:;....'+++++++++++'''''''''''';;;;;;;;;;:::::::::::::::::;;;;::::::::::,,,,;:'+,,:,,....................................``````````````````.....````````````````
..``````````````````````````````,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;::::;'+++++####++++''';;;:,,,.,',.....;+'::'+++++++'''''''''';;;;;;;;;;;;;;;:::::::::::::;;;::::::::,,,,:::'+,`,;:;,..................................```````````````````...,,.```````````````
..``````````````````````````.```'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;::::::;;'+'';:,,::;''+'':,,,,,',,....:+....,+++++++'''''''''';;;;;;;;;;;;;;;;;;;;;;:::::;;::::::::,,,,,:;'',  `;:;',..............................``````````````````````...,,.```````````````
```````````````````````````````,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::;;;:::::::::::::,,,,::;;'';::;',,,..,:'.....;+;;''++++'''';;';;;;:;;;;;;;;;;;;;;;;;::::::::;:::::,,,,::;+';```.:;;;;,.........................``````````````````````````..,,,.```````````````
```````````````````````````````;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;:::::::;;;;;;;;;;;:::::::,,,,,:;''';::,.,,;'.....:;,...:'+++''';'';';;;;:;;:::::::::;;:::::::::::::,,,,,::;'':``,`..:;;:;;.........................``````````````````````````,.,,,.`````````````..
``````````````````````````````,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;:::::::;;;;;;;;;;;;;:;;::::,,,,:'';::,,,;;....,::....,:++++++''''''';;;;;;::::,,,,,,:::::::,,,,,,::,,:;'':` ``:.`.:;;::;,............``````````````````````````````````````,..,,.``````````.....
``````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;;;::;;;;;;::;::::::'';:::';,...,::..`..,;....:''''''''';;;;;;::::,,,,,,,,,,,,,,,::,::;;'':`  `.:,..;'::;;:...........```````````````````````````````````````,.,,,.``````....,,,,,
```````````````````````````.`,'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;:::;'':;':,...,;:..`..,'..````:'''+'''';;;;;;:::::::::::::::::::::;'':,,:```..:,..''::::;..`.....``````````````````````````````````````````,,,,,.````...,,,,,,,,
`````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;:;;;''''::...,;:,.`..,'.......:+':,`.,:;'';;;;:::::::::::::;;;;;';,``` :.....::.,''::::;,.......``````````````````````````````````````````,,,,,.`...,,,,,,,,,,,
````````````````````````````.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;:;;;'+':,..,;:,``..,;.````...;.```````,''';;;;;;;;;;;;';;;:;'':`  ```:,....::.:'':::;;:`.....```````````````````````````````````````````.,,,,,.,,,,,,,,,,,,,,
````````````````````````````;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;:;:;'+':,:;:,``.,::.`````..:........,:+':....:'+''';.`````,',`````.,,....:;,:'':::;::`....````````````````````````````````````````````.,,,,,,,,,,,,,,,,,,,,
``````````````````````````.`';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::;;;;''';;:,`..,;,.`````..:...```...:':` `` ``.'++```````.;,`````.,:,...:','';:::;;;..``````````````````````````````````````````.``...,,,,,,,,,,,,,,,,,,,,
```````````````````````````:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;:;'+':,...,',.`````..;...`````.,;,..``````.';``````..:,`````..:,..,:';++::::;;;..``````````````````````````````````````.......,,,,,,,,,,,,,,,,,,,,,,,
```````````````````````````';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;::::::::::::;'+';,..,'...````..;...`````.,'..........;,........:,````...;,.,,;'+'',::;::;.`.`````````````````````````````````..,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
````````````````````````.`,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;:;'+':,;',,...```.;...``````,'.`````....',`.......,:``.`.`.;..,,''+':::::::;.`.````````````````````````````````.,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,
``````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;'';'';'';;;;;;;;;;;::::;;;:;;;;;::;++''',,......,:..```````,'.`````....',`.......,:``..``.;,..:++;,,,:;:::;...``````````````````````````````.,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,
`````````````````````````.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;::;;;:;;;;;:;'++':,,.....::..```````,'.`````...`':`........:.`.....;,.,'+;,,,::;:::;.```````````````````````````````.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
````````````````````````.,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;';;;;;;;';;;;;;;;;;;::::;::::;;;;::'++;,.....::...``````:'.`````.`.`;:`........:,``...,;:,''::,,,::;:::;.````````````````````````````..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
````````````````````````.:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;:::::::::;;;;:::;'+;,..,;;....`````:'.`````.`..;:`.......,::``...,;;'':,,,,,::;:::'``````````````````````````...,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,
`````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;::::::::::;:;::;'+;,:';.....````;'.`````.`..;;...```..,;;``.`.,+'::,,,,,::::::;:`````````````````````.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,
````````````````````````.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;::::::::::;;;;::'+'';.........;;,`..```...;;...```..,;'````,;;:,,,,,,:::::::'.``````````````````.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.......`````````````````.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;::;;;;::::::::::::::;;::;;';,.......;;.```````..;;,````..,::;,`.:;:,,,,,,,:::::::;'`.``````....,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
............`````````...,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;';;:::;:::::::::::::::::::;::;';,,,.,;;...````...;;:``.`.,:;:;;;';:,,,,,,,,:::::::';``````..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,
........................:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;::::::::::::::::;:;:::::;;';;;;:..`...,.,;;;,.,,,:;;;'+':,,,,,,,,:::;::::;',```..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:,::::,,,,,,
........................;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;::::::::;:;:;;:;;''',.....,,;;;;;:::;;'+';:,,,,,,,,,:::::::::';`..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::,,,,,,,
........................';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;::::;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;:,,:::;:::;;;;;::;;;'';;;;;;;';;''+';:,,,,,,,,,,,:::::::::'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,
........................';;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;;;;;;;;;;;;;;::;::;;;::;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::,,::,,::::;;;;;;::;;;;''''++';:::,,,,,,,,,,,,:::::::::;':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.......................,';;;';;;';;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;:;:::;;;;::::::::;:;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::,,,,,::::::;;::;;;;;;;;:::::,,,,,,,,,,,,,,:::::::::;'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................,...,,';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;:::;::;;;;;:;::::::;:;;;:;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::,,,,::,,,::,,,:;;::::;::,,,,,,,,,,,,,,,::::::::::;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,:::
..................,...:,';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;::;;:::;;::::::::;;:::;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::,,,:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::;;''',:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
..................,,.,:,';;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;::;:;;;;:::::;;;::::;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::;;'''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::
,.....,,..,...,...,:.:,,';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;:::;;;;;;:::::;;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,:::::::::::;'''''::,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
,,,...,,,.,..,,,,,,:,:,:';;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;::;;;;;:;:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::,,,,,,,,,,:::::::::::::::;''''''':,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::
,,,...,,,.,.,,,,..,,::,:';;;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::;:::;;;;;:;;::::::::::::::::;;;;;;;;;;;;;;;';';;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::;''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::
,,,,.,:,,,,,,,,,,,,,::,:';;;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;:;;:;:::::::;;;;;::::::::::::::::::;;;;;;;;;;;;;;;;;';';;;;;;;;;::::::::::::::::::::::::::::::::::::::;;''';'';;''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::
,:,,,,:,:,,,,:,,,,,,::,:';;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;::;::::;;;::::::::::::::::::::;;;;;;;;;;;;;;';;;;;;;;''''';;;;:::::::::::::::::::::::::::::::::;''''''';;;;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,::::::::::::::::::
,:,,,,:,,,,,,::,,,,,::,:';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;::::;;;::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;';;''''''';;;;:;;:::::::::::::::::::::;;;'''''''';;;;;;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::;:::::::
,:::,,:,:,:,:::,,,,,::,:';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;::::;;;;;:::::::::::::::::::;;:;;;;;;;;;;;;;;;;;;;'''''''''''''';;:::::::::::::::;;:;;''''''';;;;;;;;;;;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,::::::::::::::::::::::::
:::::::::::,:::,,,:,::::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:::::;;;;;;;;::::;;;;;;::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;'''''''''''''';;;;;;;;;;;;;;;;;'''''''';;;;;;;;;;;;;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::;::::
::::::::::::::::::::::::';;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::;;;;;;;;;:::;;;;;;::::::::::::::::::::::::::;;;;;;;;;;;;;;;;'''''''''''''''''';;;;;;;;;'''''''';'';;;;;;;;;;;;;;'',,,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,::::::::::::::::::::;::::
::::::::::::::::::::::::'';;;'''';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;;;;;;:::;;;;;;;::::::::::::::::::::::::::;;;;;;;;;;;;;;;''''''''';;''''';'''''''''''''''';;;;;;;;;;;;;;;;;;;'':,..........,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::,,,,,,::::::::::::::::::::::::::
::::::::::::::::::::::::';;;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;;;;;;:;;;;;;;;;:::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;''''';;;;;''''''''''''''''''';'';;;;;;;;::;;;;;;;''.....```....,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
::::::::::::::::::::::::'';;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;;;;;;;::::;;;;;;;:::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;';'''''''''''''';;;;;;;:;;;;;:::;;;;;;'',`........,.....,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::;::::
::;::::::;::::::::::::::'';;'';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;;;;:::::;;;;;;::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;''''''';;;;;;;;:::::;;;:::::;;;'';,,,,,....,,.,,,.......,,,,,,,,,,,,::,::::::::::::::::::::::::::::::::::;::::
::;::::::;::::::::::::::'';;'';'';;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;:::::;;;;;;:::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;::::::;;;'';:::::,,,,,,,,,,,,,,,..........,,,,,,::::::::::::::::::::::::::::::::::;:::::
::;;:;:::;;:::::::;:::::;';''';';;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;:::::::::::::::::::::::::::::::::::::;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::;;;''::,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,:::::::::::::::::::::::::::::::::::::
:::;;;;::;;:::::::;::::;;'';''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;;;;:::::::::::::::::::::::::::::::::::::::::;;:;;;;;::;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;;;;'':::,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,.....,,,,,::::::::::::::::::::::::::;;::::
:;:;;;;;;:;;;;:::;;;:;:;;'';''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;:;;::::;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;:::::::::::::::::::;;;;'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,::::::::::::::::::::::;::::
:::;;;;;;:;;;;:::;;;:;:;;';''''';;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;:::::;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::;::;;;;;;;;;:;:::::::::::::::::::::;;;;;';,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,...........,,,,:::::::::::::::;;::::
:::;;;;;;::;;;;::;;;:::;;''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;::::::::;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;::::::::::::::::::::::;;;;;';,:,,,,,,,,,,,,,,,,:::::::::::,::::::::::::::,,,,..........,,,,:::::::::;;;:::
;::;;;;;;;;;;;;;:;;;:::;;'';'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;:;;;;;;:::::;:::;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;::::::::::::::::::::::::::;;;;';':::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,.......,,:::::::::;::;:::
;:;;:;;;;;;;;;;:::;;;;:;;;';'''''';;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:::::::::;:;::::;;::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;:::::::::::::::::::::::::;;;;;;';:::,:,,,,,,,,,:,,,:::::::::::::::::::::::::::::::,,,.....,,:::::::::::::::;:::
;:;;:;;;;;:;:;::::;;;;:;:;''''''';;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;::::::::::::::::::::::::::;;;;;;';::,:,::,:,,,,::::::::::::::::::::::::::::,,,,.........,:::::::::::::::::::;;:;
;:;;:;;::;;;::::::;;;;:::;'''''''''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;;;;;::;::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::;;;;;;';:::,,::::::,,:::::::::::::::::::::::,,,...........,,,::::::::::::::::::::::;::
::;::;;;:;;;::::::;;:::::;'';''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;::::::::::::::;;;;;;;;;::::::::::::::::::::::::::::::::::::::,,,,,::::::::::::::::::,,,,:::::::::::::::::;;;;;''::,:,:::::::,::::::::::::::::::,,,......`......,,,:::::::::::::::::::::::::;:::
;:;:::;;::;;:::::::::::::;''''''''''';;;;';;;;;;;;;;;;;;;;;;;;;;;;:;:::::;:;;;::::::::::::;;:;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,::::::::::;;;;;'':::::,:,::::::::::::::::::,,.............,,,,:::::::::::::::::::::::::::::::::;
::;::::::::;:::::::::::::;;';'''''''';;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;:::;:;;;;:::::::::::;;;;;;;;;:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::::::::::,,,,,,,,,,,,,:::::::::;;;;;';::::::::,,::::::::::,,,...........,.,,,,:::::::::::::::::::::::::::::::::::::::
:;::::;:::;:::::;:;::::::;;';'''''''';;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:::::::::::;;;;;;;;;:;::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,:::::::::;;;;'';:::,::::::::,,,,,,................,,,,:::::::::::::::::::::::::::::::::::::::::
:;:::::;::;:::::;::;:::;;;;'';''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;;;;;:::;;;:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,:::::::::;;;;'';:::,:,:::::,,,..............,..,,,,,:,::::::::,:::::::::::::::::::::::::::,:::,
::;::::;::;::;::;:::;::;;;:'';'''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;:::::::::::::;:;::::::;:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,::::::::;;;';''::::,,:::::::,,,..........,,,,,,,,,,,,,::::::::::::::::::::::::::,:::::::::::::,
::;::;:;:::::;::::::;::;;::;'''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;;::::::;::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,:::::::::;;'''';,,,:,:::::::::,,,,,,,,,.,,,,,,,,:,,,,,,,,,:::,:::::::::,,::::::::::::::::::::::,
::;::;;;;:;;::::::::;;;;;;;;'';''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::;;;:::::;::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,::::::::;;;'''';,,::,,:::,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,:::::::::,,::;;:::::::,::,,
;:;::;:;;:;;::.,::;:;;;;;;;:'';''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;;;;::::;::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::;;;''''':::,:,::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;,;:,::::::::::,
;;;;;:;:;;:;::,,..;::;;;;;:;;';'';'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;;;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;;''''':::,,,:,,:,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,....,.,,,,,,,,,,,,,,,,,,:::,,,,,::::::::
;;;;;:;;:;::..,,,::::;;;;;;;;''''';''';'';;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;;;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::::::;;;;;'''';,::,:,,:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................:;......,,,,,,,,
:;;;;::;::;..,,,,..::;;;;;;;;;'''';''';'';'''';;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;:::::::::::;;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:::::::;;;;;;'''';,:,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................:;,.............
;;;;;;::;:;:;,,,.:,:;;;;;;;;;;''''''''';;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::;;;;;''''':::,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....::,.............
;;;;;;::::;;;,:,.::::';;;;;;;;''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;;;;::;:::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:,,::::::::,,,,,::::::::;;;;;''''';:::::::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,;:....``.......
;;;;;::,,::;;;;:,::::;;;;;;;;;;+''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;::::::::::::;;;;::;:::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::::::::::,,,::::::::;;;;;'''''';:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,......,:;...````````..
:;;;:,,,,,::;;;;;;::.,;;;;;;;;:''''''''';''''';;;;;;';;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;;;;;;;:::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::::::::::,::::::::::;;;;;'''''':::;::::::::::,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........::,..````````..
:;;;;;,.:.,:;:;;;;::.`,,.:;;;;;'+''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;::::::::::::::;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::::::::::;;;;''''''':::;:::::::::,::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................:::..`.```..`.`
;;;;;::.::,;;;;:;,,:,...,:;;;;;;+;'+''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::;::::;;;;;::;:::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::;;;''''''';::;::::;::::::::,:,,,,,,:,::,,,,,,,,,,,,,,,,,,,,....................:::......``.`..
;;;;;;;:;:;;;;;::```,,,:,.,;;;;;++'''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::;:::::;;;::;::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::;;;;''''''':::;:::;:::::,::,:,,:,,:::::::::,,,,,,,,:,,,,........................,::.......`.`.`
;:;;;;;;;;;;;;;;:.`,:.,,,.,;;;;;;+'''+'''''';''';'';;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;:;::::;;:::;;;;::;;::::::::::::::::::::::::::::::::::::,,,,,,,::::::::::::::::::::::::::;;;;;'''''''::;':::;::;;:::::,::,,,,,,:,:::::,,,,:,,,..................`````.....:::....```.`...
;;;;;;;;;;;;;;;;;;::``,`.;;;;;;;;+'''+'''''';'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;;;;::;:::::::::::::::;::::::::::::::::::,:::::::::::::::::::::::::::::;;;;;;;''''''';;;';:;;:;;;::::::::,,,,:::,:::::,,,,....................``````......:::...`````.,.,
:;;;;;;;;;;;;;;;;;;...;`..;;;;;;;'+'+'''''''';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;;;;:;;::::::::::::::;;;;:::::::::::::::::,,:::::::::::::::::::::::::;;;;;;;'''''''';;;;;;;;;;;:;:,:::,:,:,:::::,:,,,,..............`...`.````````......,::,...`....,,,,
;;;;;';;;;'';;;;;;;:,;';,:;;;;;;;;++'''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;;;;;;;;;;;;;;;;:::::::::::;:;;;;;;;::::::::::::::::::::::::::::::::::::::::;;;;;;';''''''+;'';;;;';;;;;;:,;:::::::::,,,,,,,...............``.````.`.``````.....,::::.....,,,,,,,
;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;+'+''+'''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;;;;;;;;;;;;;;;:::::::::::;:;;;;;;;:::::::::::::::::::::::::::::::::::::::;;;;;;;''''''''+;'';;;;;;;:;;;:;;:::::,,,,,,,..................````````.`.``````....,:::;,...,,,,,,,,,
;;;;;;;';;;;;;;;;;;;;;;';;;;:;;;;;;'''';''''+'''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;;;;;;;;;;:::::::::::;;;;;;;;;;:::::::::::::::::::::::::::::::::::::;;;;;;;''''';''+';'''';;:;::;;::;;::,:,,,,,................````````````..`.`````....,::::::.,,,,,,,,,,,
;;;;;;;;;';;;;;;;;;';';'';;;;;;;;;;;''+;''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;:;;;:;::::::::::::;;;;;;;;;:;;;:::::::::::::::::::::::::::::::;;;;;;;;;'''''''++'''''';;;;:;;;:;;::;::,.:...............````````````..``,..``.`.`...:::::,,,,,,,,,,,,.,
;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;';+;+'''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;:;;;;::;;;:;::::::::::::;;;;;;;;::;;;::::::::::::::::::::::::::::::;;;;;;;;;''''''''+'''';;;;;;;;;;;;;;:::::.:,,,,..........``````````.```..``,..``.``...,::::,,.,,,,,,,,,,..
;;;;;;;;;;;;;;'''';;;'';';;;::;;;;;;;;';+''+'''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;::::;;;;;:::::::::;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::;;;;;;;;;''''''''''+';;;;;;;;;;;;;;;;;;;;:;:,:..:........`````````````..``..``,,..,,....,.;::,,,.,,,,,,,,,...
;;;;;;;;;;;;;;;;''';;';;;;;;;;;;;;;;;;';+;'''''''';''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;:::::;;;;;::::;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::;;;;;;;;;;'''''''''++';;;;;;;;;;;;;;;;;;;;:;:;,.::.....````````````````..``....,,.,,`.,,.,,::,,,,.,,,,,,,,,,,,
;:;;;;;;;;;;;;;;;;'';;;;';;;;;;;;;;'';;'';'++'+''''''''';;;;;;;;;;;;'';;;;;;;;;;;:;;;;;;;;;;;;;;;;::::;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::;;;;;;;;;;'''''''''++''';;;;;;;;;;;;;;;;;;;;;:;,:;:.,:.````````.``.``````..``.,.,,,,..,,.,,,,:,,::,,,,,,,,,,,::
:;;;;;;;;;;;;:;;;;;;;;'''''''';;;';'';;;;;+''++'''''''''';;;;;;;;;;''';;;'';;;;;::;;;;;;;;;;;;;;;;:::;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::;::::;;;;;;;;;;'''''''''++';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,:,```````..```.``````....,,.,,,,.:,,,,,,,:,,,:,,,,,,,,,,,,,
:;;;;;;;;;;;;:;;';;;';''';;;;'';;';;;;;';;+'+++''''''''';;;;;;';;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;:::;;;;;;;;'''''''''''++';''';;;;;;;;;;;;;;;;;;;;;;;;;;,,;,````````````.``..`.`,,.,,.,,,,,,,,,,,,,:.,,,,,,,,,,,,,:,,
;;:;;;;;;;;;;::;';;;;;;';'';;;;;;';;';;;''''+++'''''''''''';;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;;:;;;;;;;;;''''''''''''++''+'';;;;;;;;;;;;;;;;;;;;;;;;;;;,::``,`.`.,`.```,```...`.,,,,,,,,,,,,,,,,,,:,,,,:,,,,,,,:::::
;;:;;;;;:;;;;;:;;;;;;;;;;;;;;;;;;;'''';'''''+++;''''''''''';;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;:;;:;:;;;;;;;''''''''''++++''''''';';;;;;;;;;;;;;;;;;;;;;;::::.,,...`:`.```.``..,.,,,,,,,,,,,,,,,,,,,,,,,::;::::::::::::
::;;;;:;:;;;;::;;;;;;;;;;;;;;;;;;;;;'+';';'''+';''+''''''''';''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;;;;;;'''''''''''+++++''''';;''';;;;;;;;;;;;;::;;;;;;;;:::...,.;.````.`.,.,,..,,,,,,,,,,,,,,,,,,,:,:::::::::::::::
::;;;:;;::;;;::;;;;;;;;;;;;;;;;;;;'';;';''';''';'+''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';''''''''''+++++''''''''''';;;;;;;;;;;;;;;;;;;;;;:::;,,,::`;.``....`..,,,,,,,,.,,,,,,,,,,::,::,:::::,,::::::::
::;::;;;::;;;;::;;;;;;;;;;;;;;;;;'';;'''''''''';;+'+';''''''''''';;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''+++++'''''''''''';;;;;;;;;;;;;;;;::::;;;;;;::;;:,;,``:..,`,,,,,,,,,,,,,::,:,,,:::::::,::::,,:,::::::
::;::;;;::;;;;;:::;;;;;;;;;;;';;;';;';;'''';;'+;;+++;;';''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;':;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''++++'+'+'''''';';;;;;;;;';';;;,..,:,;:;;;;;;:;;;:;:,.;`,:.,,,,,,,,,,,:,:::,,::,:::::::::,,,,::::::::
::;::;;:;;;;:;;::;;;;;;;;;;;;;;;;;;;;''''''';'';;''+;;''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''++'+'''''''''''''';;;;;;;;;;;;:,,,,,:,,:;:;;;;;;';:;;.;,,,,,:,,,,,,,,:,,,,:,,,,,,::::::::::::::::::::
;:::::;;:;;:;;::;;;;:;;;;;:';:;;';;;'';'';;';;'';;'';;+++''''''''''''';;'''';;;;;;;;;;;;';;;;;';;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''++++++''''''''''''''';;;;;;;;;;;;;;:..,,,,:;;;;;;;';:;;;::,,:,;,,,,,:::::::,,,,,,,,::::::::::::::::::::
;:::::;::;;;;:;:;;;;;;;;;;:;;:;;';;;''';;;;;';;';;;;;;++'''''''''''''''''''''';;';;;;;;;;'';;';';;;;;;;''';';';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''';;;;'''''''''''+++++++++'''+'''''''''';;;;;;;;;;;;;;;;..,.:.::;;;:;::';,';';;,:;,;,,:,:;:::;,:::::::::::::,:::::::::::::::
;:::;;;::;;:;:;;;;;;;;;;;;;;':;;';''''''';;'';;';;;;:'+;+'''''''';;'''''''''''''''';;;;;;;''';;;;;;';';'''''';''';;;;;;;;;;;;;;;;'';;;;;;;;;'''''';;'''''''''++++++++''''''''''''''';';;;;;;;;;;';';;;;,;:,;::;:.,:::,:':;;';;:;;:;:,;,;;:::;:::::::::,:::,,:::::::::::::::
:;;::;::;;,.,:;;;;;;:;;;;;;:':;;''''';;'';;';;;;;;';;';'+''++''''';;'''''''''''''''''';;;''''';;'''''''''''';;'''';;;;;;;;;;;;;;;;;;';;''''''''''''''''''++++++++++''''''''''''';''''';;;;;;;;;;;;';;;;;;;;;;;,.,..,,,;;;;;';',;;:;:,';':;::':::;:,,,::::::::::::::::::::::
;;;::;;::,...::;;;;;;;;;;;;;;;;;;';;;;;'''';;;;;;:';;;;+';;;'+++'';;'''''''''''''''';''';'''''';'''''''''''';'''''''''''';;';;;;;;'';'''''''''''''''''++++++++++''''''''''''';'';'''''''';;;;;;;;;'';;;;;;;;;;::,.:.:,:;;;;';':';;';:''::;:;':::;::::::::::::::::::::::::::
:;;;;;;::....,;:,:;;;;;;;:;';;;;;';;;;;;'''';;;;';;';;;;:;;;;'+'++';;''''''''''''''';'''';''''';''''';'''''''''''''''''''''''''''''''''''''''''''''''+++++++++'''''''''''''''';';'''''';;;;;;;;;;;;;';;;;;;;;;;;,,',:;;;;;;;;;;';;';;''::':;':::':::;;:::::::::::::::::::::
.:;;:;;:,....,;..,;;;;;;;;:'';'';;;;;;;;;'''';;;';;';;;;'';';;'';++;:'+'';;''''''''';'''''''''';;'''';''''';;'''''''''''''''''''''''''''''''''''+''+++++++'+'''''''''''''''''';;;;''''';;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;'''';'';;:':;'::;;:::;;::::::::::;::::::::::
..:;,,::.....,:...;;::;;;';;;;'';;;;;;;;;;''';;;'';;;;;;+';+;;;';;+;;;+'';;'''';;;'':';''''';'';;''''''''''';''''''''''''''''''''''''''''''''+++++++++++++'''''''''''';''''''';;;;;''';;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;'''';'';;;';;'::';:::;;:::;:::::::::;;:::;::
.`.:,,,,.....,,,..,...;;;;;';''';;;;;;;;;;''';;;'';';;;;;';'';;;;;;'';'';;;;+''';;;':'';'+''''';;''';'''''''''''''''';''''''''+++''+''+'+++++++++++++'''+''';'''''''''''''''''';;;''';;;;;;;;;;;;;;;:;;;;;;;;;;;;;''';;;;;;;;;;;'';''';;;';;'::';;;;;;::;;;:;;:::::::;;::::
.`..,,,......,,,......;;:,:';';';;;;;;;;;;;;;;;''';;;;;;;;;;;;;;;;;';;;;;;;;'';;;;;':;';;''''';;;;'';''';;';'''''''''';''+''++''+;++'+++++++++++++++'+++'''';''''''''''''''''''';;;';;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;';''';;;;';;';;';;;;:;::';::;;:;;:::;::;;;;
,...`.,,......,,......,....;';:;;;;'';;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;';';':;'';;;;;+:';;+';;;';';;''++'''+++;;++;;++''+;++;++++;++++++++++'''''''';''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';';;;';'';;'';'':;:;;;:';::;;::::::::;;
.,.....,......,,...........;:..,:;';;;;;;;';;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::';:;;;;'';;;+';';;;+;'+++'''++++;;++;;++;'';'';'+';'++++++'++'';;''''';''''''''''''''';'''';;;;;;;;;;;;;;;:;;;;;;::::;::;;;;;;;;;;;;;;;;;;;;'';';;'';'';'''''':':;;:;';::;;;::::::;;:
.,,....,,....,,,....`............,:;;;;;;;';';;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::';;;;;;'+;;:+';';;;';+++''''++++;;;+;;'';'';'';+';;'++'+++++''';;;''';;';''';';;'''''';'''';;;;;;;;;;;;;;;;;;;;;;::::,,:;;;;;;;;;;;;;;';;;;''';';';';'';'';;'':';';;';';:';:::::::;;;
,..,....,....,,,.........`........:;;;;;;;;;;;;;';';;;;;;;;;';;;;;;;;;;;;;;::;;;;;;;;:;;;;;;;''';;;;;';;;;'''''''';;''+;;'';';;'';'';';;;'+'++''''''';;;''';';;'';;';;''''''''';;;;;;;;;;;;;;;;;;;;;;,::,,,,.,;;;;;;;;;'''';;;;;;;'';';;;';''''';;'';;;';;';';:';:;;::::;;;
.,,.,,,.,,...,,,....`............,;;;;;;;;;;';;;''';;;;;;;;';';;;;;;;;;;:;;:::;;;;;;;:;::;;;:;;;;;;';;;;;;';'';;''';;;';;;;;;+;';;';'';;'++'''''';'''';;;';;';;''';';;;';'';;;;;;;;';;;;;;;';;;;;;;;:::.,,:,,,,;;;;;;;;;''';;''';;;';'';;';'''';;''';';';';;'':';:;;;;;;;;;
..,,,,,::::::::,...`...........,::,,,;;;;;;;;;;;''';;;;;;;;';;;;;;;;;:;;;;;;:::;;:;;::;::;;;:;;';::;'':;;';;';;;+'+';;;;;;;;;+;;;;';';;''+''''''';;''';;;;;;;;;'';;;;;;'''';;';;;';;;;;;;;;';;;::;;;'::,.....:;;;;;;';;;';'';;';;;'';';;;';;;''''''';';;;';;'';';:':;;;;;;;
..,,,::,,`..,,,,..........`...,......:;;;;;;;;;;;;;;;;;;;;;;++#@@@@#+';;;;;;;:::;;;;:::::::::::;::::;':;;;;;';;;;;;'+':;;:;;;;';;;'';;;;'';';;''';;;'';';;;:;;;;;;;;;;;''';;;'';;;:;;;::;;;;::::::;;;:::.,,:;:;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';';;;;;;;;;';
,,,,:...,.,,,,,@@@@@@@@@@@@@@........:;;;;;;;;;;;;;;;;;;;#@@#;,`  `.;#@@#;:;;;:::;;;;:::#@@@@@@@@@@@@@@;;;;;;';;;;;;;'';;;;;;;;;;;;;;@@@@@@@@@@@@@;;'';';;'#@@@@@@@@@@@;''';;;;;#@@@@@@@@@@#;@@@@@@@@@@@@@@@;;;;;;';;@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''';;';':;;';
,,,:,,,,,.:::;,@            @.......:;;;';;;;;;;;;;;';;@@;              ;@@;;;;::;:;;:::@             @;;:;;'';;;;';;;;;:;;;;;;;;;;;;@           ;#;;';';;;@          @;''';;;;;@         :#;@             @;';;;;;;;@         @;@                            ;';;;';;':';;
.,:,,,:,,;;::::@            @.,..,,,;;;;';;;;;;;;;;;'#@,                  ,@#:;;::::::::@             @;;;;;;;;;;;;;;;:;;;;;';;;;;;;;@           `@;;;;;;;'@          ++;'';;;;;@         #+;@             @;;;';;;;;@         @:@                            ;';'';;'':';;
.;,,::;::;:;,,,@            @...,,:;;;;;;';;;;;;;;;;@#                      +@;:::::;;::@             @;;;;;;;;;';;;;;;;:;;;';;;;;;;;#:           @;;;;;;;#'          .@'';;;;;'#         @;;@             @;;;;;;;;;@         @:@                            ;';'''''';';;
.:,:;:;;;:::,,,@            @,:;;'';;;;;;';;;;;;;;;@:                        ,@;:;:::::;@             @;;;;;;;;;;;;;;;;;;::;';;;;;;;''#           @;;;;;;;@.           @''';;;;#,        `@;;@             @;;;;;;;;;@         @:@                            ;''''''';'';'
..::;,,.:;,.,,,@            @;'';'';;;;;';';;;;;;;@:                          .@::;:;;:;@             @:;;;;;;;;;;;;;;;;;;:;;;;;;;;;;:@           '+;;;;;;@            @;;;;;;;@         ;#;;@             @:;';;;;;;@         @:@                            ;'''''''''';;
.,:;;,,..;..,,,@            @;;';;;;;;;';;;;;;;;;@;                            ,@:::;;:;@             @;;;;;;;:;;;;;;;;;;;;:;;;;;;;;;;@           .@;;;;;;@            +#';;;;;@         @;;;@             @:;;;;;;;;@         @:@                            ;''''''';';;'
.:,,::......,,,@            @;;;;;;;;;;':....,:;##                              ;#,;;;:;@             @;;:;;;;:;;;;;;;;;;;;;:;;;;;;;;;#;           @;;:;;++            .@;';;:'#         @:;;@             @;;;;;;;;;@         @:@                            ;''''''''';''
.,,:::.,....::,@            @;';;'';;;;;.......:@                                @';;;;;@             @;;;;;;;:;;;;;;;;;;;;;:;;;;;;;;;'@           @;;;;;@.             @;;;;:#:        `@:;;@             @;;;;;;;;;@         @:@                            ;'''''';'';''
....::......::.@            @;'';''';';:..`....@,              :#@'`             `@:::;;@             @;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;@           ++;;;;@              @;;;;;@         '+;;;@             @;;;;;;;;:@         @:@                            ''''''';'''''
````.....,.,:,,@            @,;';;';'';:..`....@             `@#';+@'             @':;;;@             @;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;:@`          ,@;;;;@              ++;;;;@         @;:;;@             @;;;;;;;;:@         @;@@@@@@@@@            @@@@@@@@';''''';'''''
.```.,..,,,,:,;@            @..,;';'''',..`...#;             @;;;;;;@:            .@:::;@             @;;;;:;;;;;;;;:;';;:;;;;;;;;;;;;;#'           @:;:'+              `@;;;'#         @;;;;@             @;;;;;;;;:@         @;;;;;;;;:@            @;;;;;;;;''''''''''';
..`..::,:,,,';+@            @....:';;''..``...@             @+:;;;;;;@             @:;;:@             @;;;;;;;;;;;;;;;;;'::;::;;:;;;;;;;@           @;;:@,               @:;;#:        .@;;;;@             @:;;;;;;;:@         @;;;;;;;;;@            @;';;''';''''''''''''
,,,,:::'+;::+#+@            @`....:''';..``..:@             @,,,,:;;;@:            +';;;@             @:;;;;;;;;;;;;;';''::;:;:::;;;;;;;@           #';;@                @;:;@         ++:;;;@             @;;;;;;:::@         @;;;;;;;;;@            @;';;'';;;'''''''''''
;::;;'++++++#++@            @``....:'';..``..+:            ;#,.,,.,:;'#            ,#;;;@             @::';;;;;;;;;;;':'';::;;;;::::;;;;@.          :#::@                '#;:@         @;;;;;@             @:;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;'''''''''''
######+++'++#++@            @```.`..:';..``..@`            @,......,;;@             @;;;@             @;;;;;:;;;;;;;';:'';;;';;;;;;;;;;;+'           @;'#                `@;;@         @;;;;;@             @:;;;;;;;:@         @;;;;;;;;;@            @;;;;;;';;;''''''''';
'''+#+++++##+#+@            @```..`..;;..``..@             @`.......::@             @;;;@             @:;;;;;;;;;;;;';;';;;;';;;;;;;;:;;;@           @;#,                 @;#;        ,#:;;;;@             @;;;;;;;;:@         @;;;;;;;;;@            @;;;;;;';;;''''''''''
'';'+#####+++++@            @.```.``..:..`.`.@             @.......,.,@             @:;;@             @;;';;;;;;;';;';;'';;'';;;;;';:;::;@           @'@                  @;@         #';;;;;@             @;;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;;';';;'''''
''';;'+###+#++;@            @..```.`.....`.`.@             @.....,..,:@             @;;;@             @;;;'';;;;;;;:.:;';';'';;;;';:;;:;;@,          :#@                  '+@         @;;;;;;@             @;;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;;;;;;;'''''
''''';;'++#+++,@            @...``..`....`.`.@             @...,,,,;;;@             @;;;@             @;';;';;;:...,;::';'''';;;'';:;;:;;'+          `@#        :         `@@         @;;;:;;@             @:;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;;;;;'';''''
'''''''''++++';@            @....``..`...`.`.@             @.,,,.,,.,;@             @;;;@             @''';';;:.``.,;;,;;;;;;;;'';;:;:;;::@           @:        #          @;        :#;;;;;;@             @:;;;:;;;:@         @;;;;;;;;;@            @;;;;;;;;;;;;''''''''
'''''''''+++'''@            @,....``.`...`.`.@             @,,......,.@             @;;;@             @;';:;;;.``...:,,;;;;;';''';;;;:;;:;@           @        ,@          @`        @';;;;;;@             @:;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;;;;''';;'';
''''''''''++'';@            @::...``.`...`.`.@             @........,,@             @;;;@             @:;:,:';:::..,..`.:;;;;'''';;;:;;;;:@,          ;        #@          '         @::;;;;;@             @:;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;;;;''';;;;;
+++''''''+#+'',@            @.;;...`.....`...@             @........,.@             @;;'@             @:,,,:;;;':.:..`.`.;;;'''';;';;;;'';+#          `        @#:         `        `@:;::;;;@             @;;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;;;;';;;;;;'
+++++'''''#+'',@            @.`;;,.`..`......@             @..........@             @;;;@             @::,..,;;';';..`...;;'''';;';;;;;;';;@                   @'#                  ;#:;;;;;:@             @:;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;'''';;;;;''
'''+++''''#+'+,@            @...,:...........@             @..........@             @;;;@             @,;,..,;;'''+:,::::';'''';';;;;;:;;;'@                  ,@:@                  @;;;;;;;:@             @:;:;;;;;;@         @;;;;;;;;;@            @;;;;;;;;''''';';;;''
+';''+++''#+'+,@            @...``..........,@.            @:,.,,..,,:@            ,#;;;@             @:,..:;;;'';+;;';;;;;'';;;';;';;;;;;;#:                 ++;@                  @;;;::;;;@             @:;;;;;;;;#         @;;;;;;;;;@            @;'';;;;'''''';';;'';
++''''++++##'+;@            @`....`...,..,..,+'            :#,,,..,,,+;            #+;;;@             @,,.`.;;;'';';;;;;;;;;;;;'';;'';;;;'''#                 @;;#:                `@;;:;;;;;@             @;;;;;;;;'+         @;;;;;;;;;@            @;';;;;;''''''''''';;
++++''''++##+'+@            @``....`..,,.,,,:,@             @,..,,,,,@`            @;;;;@             @,.,::';;;'''';'';';;;;;;;'';;;;';;'';@                 @;;'#                '+;;;;;;;;@             @;;;;;;;;#'         @;;;;;;;;;@            @;;;;;;''''''''';;;';
''#++''''+#++''@            @.``...``.,,..:...@             +#,,,,,.'#            .@;;;;@             @;.,;';;;;';;;:;;;';;;;;;;'';';;;;;;''@`               .@;;;@                @:;;;;;;;;@`            @';;;''''@`         @;;;;;;;''@            @;;';;';''';''''';';,
+'+++++';'##++'@            @@@@@@@@@@@@@@@##.++             @+,...'@`            #+;;;;@             @@@@@@@@@@@@@@@@;:';;;;;;'';;';;;;;;';#;               '+;;;@                @;;;:;;;;;#,            .@';;;;'@'          @;;;;;;;;'@            @;'';;'''''''';''':,,
+'''++++''+#++'@                            @::@              #@@@@#`            `@';;;;@                            @:;;;;;;;;'';;';;;;;;'';@               @;;;;#:              .@;;;;;;;;;++             .@@@@@@,           @;;;;;;;;;@            @;'';;''''''''''';,;:
#++''++++'+##;,@                            @;:++                                @+'';;;@                            @;;;;;;;;;';;;;;;;;;;;';@               @;;;;;@              ++;;;;;;;;;;@                               :#;;;;;;'';@            @;''';'''''''''''''::
+##++++'+'++;,.@                            @:,,@.                              ;@;';;;;@                            @;;;;;;;;;';';;;';;;;;';@`             `@;;;;;@              @;;;;;;;;;;;@                               @';;;;;;;;;@            @'';';'''''';'''''';;
+++####+''+':,.@                            @,:.,@                             `@';'';;;@                            @'';;;;;;';'';;;;';;;;;;#'             '#;;;;;@              @;;;;;;;;;';++                             `@+;;;;;;;;;@            @'';;''''''''''''''';
'++++++##+++:.,@                            @::,.'@                            @+';'';;;@                            @;;';;;;;;;;;;:;;;:;;;;;;@             @';;;;;#;            :#;;;;;;;;;;;;@.                            @+'+;;;''';;@            @'';;''';'''';'''''';
+++++++###+++;,@                            @,:,,;+@                         `@+'''';;;;@                            @;';;;;;';';;;;;;;::;;;;:@             @;;;;;;'@            #';;;;;;;;;;;;'@`                          +@;;'';;;;';;@            @;'';''';;'''''''''';
+++++++++++###'@                            @.;,:',;@`                      .@+';;';;;;;@                            @''';;'';;;;;;;;;;;;;;;;;@.           `@;;;;:;;@            @;;;;;;;;;;;;;;+@`                        +@;;;;';''';;;@            @;'';''';;'''';';''';
+''''++++++###+@                            @::.,::.:@'                    +@''''''';;;;@                            @;;;;'';;;;;;;;;;;;;;;;;:+'           ;#;;;;;;;@`           @;;;;;;;;;;;;;;;'@;                      @#;;;;;'':;;'''@            @:'';'';;;''''';;''';
''+'''''+++##'+@                            @;:,,::,;;#@:                ;@#''''''''''';@                            @:;;;;;;;;;';;;;;;;;;;;;:;@           @';;;;;;;#;          ;#;;;;;;;;;;;;;;;;;@@:                 `+@+,;;;:;;'';';';@            @;;;;;';;;;'''';;;'';
+''''''++++##'+#                           `@:;::':;;;;;#@#,          ,#@@''''''''''''';@`                           #;:;;;;;;;;;;;;;;;;;;;;;;;@          `@;;;;;;;;'#          @';;;;;;';;;;;;;;';''@@#:`          `'@@#;;,;;;::;:'+''''@`          `@;;;;;;';;'';''';;'';
'''''''+#+++#'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;:;;;',;:;;:;,'#@@@@@@@@@@#:,;'''''''''''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:;;;:;;;;;;;;;;;;;;;;;;;;+@@@@@@@@@@@+;;;;;;;;;#@@@@@@@@@@#;;;;;;';;'';;;;;;';';;'#@@@@@@@@@@@@#+':';:::;:,:';+'';;'@@@@@@@@@@@@;;;;;;;';;'';;;';;;;;
'''''''+#++++'#+''+++#+''+,...```....,..:'''''';';;;:,:'':;,;:,..........,;''''''''''''''':,.::;;::;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:;;;;;;;;'''++++'';:;';;:;;;''';;;;';''';:;;::;;::;''+;;;;;;;;;;;;;;;;;;;;;;;;;;';;;';;;;;;
'''''''++++++'#++'++#++''.....``......`.:';;'+';;::';::+''':,,,..```.......:;'''''''';'';,..,:,:;,:.:;;;;;;;';;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;'';''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;+';;#;:''#':;;:;;:;+;''''''';';;':';::;;:::;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;';;;;
''''''++#++#+'#++'''+++:.....`......``..;,`.,;+';::+',,'++;......``````.....:''''''''''';,,;:.:.,.,:,,;;;;;'';;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;'';;;'';;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;++''+;+#';+;::''::::;'''''''';;';':';::;;;::;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
''''''++#++#+'#++'''+'.............``...``..`,+''''+',';'',:::,,.............:'''''';;;';;;;.,:.,,.;:,,;;;;';;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;';;'';;;;;;:;;;;;;;;:;;;;;;;;;;;;';#++'+;;#+;:;''''';;;''''''''';';;';';;,;;;,::;;'';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;


Mexico [1] is a country in North America, lying between the United States of America to the north, and Guatemala and Belize to the southeast. Its extensive coastlines include the Gulf of Mexico and the Caribbean Sea to the east and the Pacific Ocean to the west. Mexico has nice and warm people, unique food, art and archeology, pyramids, museums, Haciendas, 6,000 miles of shoreline, superb architecture and 21 century cities, weather from snow mountains in the Sierras, to rainy jungles in the Southeast and desert in the Northwest, lots of golf courses throughout the country, excellent fishing, world top destinations like Acapulco, Cancun, Cozumel, Los Cabos, and Patzcuaro. Mexico is ranked 7th major destination for foreigner visitors, according to WTO.

Map of Mexico

Regions

  • Northern Mexico—The expansive deserts and mountains of the border states. Ignored by tourists, this is "Unknown Mexico".
  • The Bajio—Historic states in a traditional silver-mining region
  • Yucatan Peninsula—Jungle and impressive Mayan archaeological sites, along with the Caribbean coast

See also: List of Mexican states

Cities

  • Mexico City - Capital of the Republic, one of the three largest cities in the world, and a sophisticated urban hub with a 700-year history. In Mexico City, you will find everything from parks, Aztec ruins, colonial architecture, museums, to nightlife and shopping.
  • Acapulco - A sophisticated urban beach setting known for its top-notch nightlife, elegant dining, and nightmarish traffic. Many of the older (pre-1990s) concrete structures have suffered tropical decay.
  • Cancun - One of the worlds most popular and famous beaches, known for its clear Caribbean waters, its lively party atmosphere, and its wealth of recreational facilities. During Spring Break it is noted for drinking, sunburning, and debauchery.
  • Cozumel - An island with world class scuba diving, quiet nightlife, and fine dining.
  • Guadalajara - A traditional city, capital of Jalisco state, and the home of mariachi music and tequila. Guadalajara is blessed with perpetual spring weather and its colonial downtown is graceful and sophisticated. Try not to inhale the layer of smog too deeply.
  • Mazatlan - Lively Pacific coast town, Mazatlan is a shipping port, a transportation hub with ferries to Baja California, and a beach resort destination with miles of sandy shore. It is a popular Spring Break destination due to its variety of affordable (if tacky) lodging options.
  • Monterrey - A large modern city that is the commercial and industrial hub of Northern Mexico. Monterrey enjoys a dry, mountainous setting and is known for its high-quality educational and transportation infrastructure.
  • San Luis Potosi - Located in central Mexico, a colonial city that was once an important silver producer, but today, relies on manufacturing for its economic base.
  • Taxco - In central Mexico west of Cuernavaca, this steep mountain town was once a major silver producer, and now has a strong place in the trade of decorative silver, from cheap fittings to the most elegant jewelry and elaborate castings.
  • Tijuana - Mexico's busiest border crossing for pedestrians and private vehicles, and a long-time bargain Mecca for southern Californians due to its proximity with San Diego.

Other destinations

  • Copper Canyon (Barrancas del Cobre) - An exotic destination for travellers looking for a unique remote adventure! An awesome mountain rail ride --- one of the greatest in the world --- takes you upwards over 8000 feet on the CHEPE, the Chihuahua al Pacifico Railway. Hiking, horseback riding, birding, & Tarahumara Indians. Copper Canyon, the Sierra Madre and the Chihuahuan desert of Mexico. This area is designed for adventurous individuals who will tolerate some rough travel to get to their point(s) of interest. Copper Canyon, a magnificent remote wilderness is not likely ever to become a mass market destination.

NOTE: If taking the CHEPE train ride, start your trip at El Fuerte (NOT Los Mochis!) on the western side and travel uphill to Creel or Chihuahua. Stand in the few open vestibules with your camera -- the uphill scenery is fairly splendid for at least two of the seven or nine or twelve hours of the journey. On the downhill run, put yourself in the club (bar) car, where you can stretch out in a modicum of comfort. The first-class (express) and second-class (tourist) trains are essentially the same, except that the express stops less and is twice as expensive.

  • Sea of Cortez - See whale birthings, swim with dolphins, and sea kayak in the warm waters of the Sea of Cortez, along the eastern coast of Baja California, near La Paz.
  • Monarch Butterfly Breeding Sites - Protected natural areas in the highlands of the state of Michoacan. Millions of butterflys come to the area between November and March of each year, although numbers have declined sharply recently. See them before they're all gone.
  • Sumidero Canyon - From docks on the Rio Grivalva (the only major river within Mexico) near Tuxtla Guiterrez in Chiapas state, tour launches take you into this steep-walled National Park. You'll likely see vast flocks of flamingos, pelicans, and other waterfowl, as well as crocodiles, impossible caves, and tourists urinating from sheer clifftops a kilometer above you.

Archaeological Sites

  • Chichen Itza - Majestic Mayan city, declared a UNESCO "World Heritage Site" in 1988 and recently voted as one of the New Seven Wonders of the World.
  • Ek Balam - Recently reconstructed Mayan site, famous for its unique decorated stucco and stone carved temples.
  • El Tajin - In the state of Veracruz near the town of Papantla. A UNESCO "World Heritage Site".
  • Monte Alban - In the state of Oaxaca, a Zapotec site dating from about 500 B.C. A UNESCO "World Heritage Site".
  • Palenque - Mayan city in the state of Chiapas, Palenque famous for its elaborate paintings. Also well known for having the largest tract of rainforest in Mexico located in the same area.
  • Teotihuacan - In the state of Mexico, near Mexico City. Enormous site with several large pyramids.
  • Tulum - Mayan coastal city with spectacular Caribbean vistas. Dates from late Mayan period.
  • Uxmal - Impressive Mayan city-state in the Puc Region, declared a UNESCO "World Heritage Site" in 1996.

Understand

Mexico is one of the most popular tourist countries on earth (over 20 million foreign visitors last year). Much of the tourist industry is centered around the beach resorts as well as the altiplano in the South-central part of the country. Visiting the northern interior allows visitors to get off the beaten path a bit. American tourists tend to predominate on the Baja peninsula and the more modernized beach resorts (Cancun, Puerto Vallarta), while European tourists congegrate around the smaller resort areas in the south like Playa del Carmen and San Cristobal de las Casas.

Climate

Varies from desert-like regions on the northwest part of the country (cities like Hermosillo, Ciudad Juarez, or Los Cabos); and temperate in the northeastern part (cities like Monterrey, Nuevo Laredo, Ciudad Acuña), but note that much of the northern Mexican territory gets rather cold during the winter with average day time highs from 8C (39F) to 12C (59F), overnight lows avarage around -5C (24F) and snow is sometimes frequent in certain northern places like (the Sierra Madre of Chihuahua, Durango, Coahuila, Nuevo Leon, and northern Tamaulipas) but can also occur at higher altittudes in the temperate forests in the central part of Mexico. Also, northern Mexico gets very hot during the summer with sudden violent storms in the afternoon, with heavy rain and hail, also an isolated tornado can occur with these storms but rarely, and the temperatures during the day can quickly exceed 39C (100F). The Bajio region is semiarid (cities like Aguascalientes, Leon and Zacatecas); and temperate forests in the central part of the country {Mexico City, Toluca}, and tropical rain forests in the south and southeast regions like (Chiapas, Cancun). During hurricane season, hurricanes are common in the coastal cities specially those near the Caribbean Sea and the Gulf of Mexico.

Landscape

High, rugged mountains; low coastal plains; high plateaus; temperate plains with grasslands and Mezquite trees in the northeast, desert and even more rugged mountains in the northwest, tropical rainforests in the south and southeast {Chiapas, Cancun} semiarid in places like {Aguascalientes, San Luis Potosi} and temperate coniferous and deciduous forests in the central part of the country {Mexico City, Toluca}.

Holidays

  • January 1st
  • February 2nd: The Candelaria Virgin Day, celebrated in many places around the country
  • February 5th: Constitution Day(1917)
  • February 24th: Flag Day
  • March 21st: Birth of Benito Juárez (1806). 2006 was the bicentennial year.
  • May 1st: Labor Day.
  • May 5th: The Battle of Puebla against the French army, 19th century. (Not an official holiday)
  • September 1st: Dia del Informe. Although no longer official, it is still important as it is the day in which the Mexican President adresses to the Nation of the progress his administration on a yearly basis. Every President makes six Informes
  • September 16th: Independence day (from Spain - 1821).
  • October 12: Discovery of America (Descubrimiento de America)
  • November 2nd: Day of the dead (Not an official holiday)
  • November 20th: Revolution day (1910)
  • December 12th: Guadalupe Virgin Day. Unless is not official, is one of the most important Mexican Holidays
  • December 25th: Christmas


Easter is widely observed nationwide, according to the yearly Catholic calendar (the first Sunday after the first full moon in Spring).

Time

Mexico observes daylight savings time (DST) the same way as the USA did pre-2007, from first Sunday in April to last Sunday in October. This now includes the tropical regions of southern MeXico as well. Note there will be several weeks each year when the U.S. is on DST, but Mexico is not. The state of Sonora south of Arizona, does not observe DST since Arizona doesn't have it either.

Get in

By plane

-from Australia- The cheapest way to fly to Mexico from Australia is via Hawaii (i.e. with Jetstar) and then onward to LA Hawaiian Airlines. Direct flights (or via New Zealand) are also available but cost two to four times as much.

By train

There is at least one place where Mexico is accessible via rail and a short walk - south of San Diego. The San Diego Trolley can be taken from downtown San Diego (which Amtrak serves) to the California-Baja California border. (note: El Paso/Juarez is also well served by Amtrak, the station is within a stones throw of the rio grande)

By car

American automobile insurance is not accepted in Mexico, however it is easy to obtain short-term or long-term tourist policies that include the mandatory liability coverage, theft and accident coverage for your vehicle, and often, legal assistance coverage. Should you decide to drive to Mexico, the Transport and Communications Secretariat website [2] has free downloadable road maps.

Foreign-plated vehicles must obtain necessary permits before being allowed into the interior of Mexico. This can be done at the border checkpoints by showing your vehicle title or registration, as well as immigration documents and a valid credit card. It is now possible to apply for your vehicle import permit online. [3]

By bus

The Mexican bus system is reportedly the most efficient in the world. There are many different independent companies but all use a central computerized ticketing system. Rates per mile are generally comparable to those of Greyhound in the U.S., but there are more departures and the system serves much smaller villages than its American counterpart. There are many bus companies based in Mexico with branch offices in major U.S. cities. A ticket to a major Mexican city from the U.S. can be bought for as little as $60 roundtrip (San Antonio TX to Monterrey N.L.). These companies however, do cater to mostly Hispanics or Mexican Nationals living in the U.S. and operate mostly in Spanish.

By boat

  • Border crossing from Guatemala.
  • Cruise ships from United States.

Visa Requirements

According to the Mexican Embassy in Washington, D.C., certain foreign nationals who intend to stay in México fewer than 180 days for the purpose of tourism or business can purchase a tourist card (FMT) at the border or upon landing at an airport for a nominal fee. This service is available to citizens of Andorra, Argentina, Australia, Austria, Belgium, Canada, Chile, Costa Rica, the Czech Republic, Denmark, Finland, France, Germany, Great Britain, Greece, Hungary, Ireland, Island, Israel, Italy, Japan, Liechtenstein, Luxembourg, Monaco, Netherlands, New Zealand, Norway, Poland, Portugal, Puerto Rico, San Marino, Singapore, Slovenia, Spain, South Korea, Sweden, Switzerland, the United States, Uruguay and Venezuela.

Other people must contact a Mexican consulate in order to find out the requirements for citizens of their country, and may have to apply for and obtain a visa in advance of travel. If you are in need of other information, Mexico has consulates in the following US cities: [4]. The consulates in the USA are typically open for business to non-citizens (by telephone or in-person) only from 8:30 AM to 12:30 PM.

If you do not intend to travel past the "border zone" and your stay does not exceed three days, U.S. and Canadian nationals only require a proof of citizenship. Reentry into the United States, however, may require a passport.

Get around

Travelling in Mexico is most practical by bus, car, or air. Passenger transport by train is almost nonexistent. Except the Chihuahua del Pacifico rail line which pull out every morning at both ends of the line, one from Los Mochis on the Pacific coast, across from Baja California, and the other from Chihuahua in the east (due south of El Paso, Texas). They cross each other roughly midways at Divisadero and Barrancas Copper Canyon stations at 7000 Ft. altitude.

By car

Due to a government scheme in the early 90's to create infrastructure, the best roads are toll roads. Toll roads can be relatively costly, 400-800 pesos is not uncommon on longer trips, but are much faster and better maintained. First-class buses generally travel by toll roads (and the toll is obviously included in the ticket price). US vehicle insurance is not valid in Mexico and while Mexican auto insurance is not required, it is highly recommended, as any minor accident could land you in jail without it. AAA offers Mexican auto insurance even for non-members.

When travelling on Mexican roads, especially near the borders with the United States and Guatemala, one will probably encounter several checkpoints operated by the Mexican Army searching for illegal weapons and drugs. If you are coming from the United States, you may not be used to this, and it can be intimidating. However, these are rarely a problem for honest people. Simply do what the soldiers tell you to do, and treat them with respect. The best way to show respect when entering a checkpoint is to turn your music down, lift sunglasses from your face, and be prepared to roll your window down. They should treat you with respect as well, and they usually do. If you are asked to unpack any part of your vehicle, do so without complaint. It is their right to make you completely unload in order for them to inspect your cargo.

Tourists are often warned about traveling on roads at night. Although banditos are rare in more metropolitan areas, err on the side of caution in more rural areas. The best bet is to only drive during daylight hours. Cattle, dogs, and other animals can also appear on the roadway unexpectedly so if you do have to drive at night, be very cautious. If possible, follow a bus or truck that seems to be driving safely.

The Secretariat of Communication and Transport recently set up a new mapping tool similar to those in the U.S. like Mapquest, its name is Traza Tu Ruta and is very helpful to find how to get to your destination using Mexico's roads. It is in Spanish but can be used with basic knowledge of the language.

Foreign driver's licenses are recognized and recommended. Speeding tickets are common, and to ensure your presence at the hearing, the officer may choose to keep your license. He is within his rights to do so.

At petrol (gas) stations, make sure the pump is zeroed out before the attendant begins pumping your gas so that you don't end up paying more than you should.

Good maps are invaluable and the Mexico maps included in "North American Road Atlas" books are worse than useless. The Guia Roji maps are particularly good.

See also: Driving in Mexico

By plane

Mexico is a large country and the low-cost revolution that started in 2005 means that fares are often ridiculously cheap if you book in advance. The main full-service airlines are Mexicana [5], Aeromar [6], AeroMexico [7] and Aviacsa [8]. The rapidly changing palette of low-cost carriers includes InterJet [9], Volaris [10], Alma de Mexico [11], and Viva Aerobus [12]. Major regional carriers include Aero California [13], which focuses mainly on Baja Californi (from Tijuana to Los Cabos) and Avolar [14], which mainly flies between western destinations.

By bus

If traveling by bus, be sure to take the express buses, if available (they are called directo). Other buses often stop at many smaller stations along the way, making the trip a lot longer. If you have experience with Greyhound buses in the US, you're in for a pleasant surprise. First class buses are usually direct routes and are the best option for most. Second class buses may be very similar to 1st class just making more stops or in rural areas they may be essentially chicken buses (polleros). Executive and Luxury lines cost about 60% more than first class, may be faster, usually have larger seats, and they have less frequent departures; they are really only a good option for elderly or business travelers. With the advent of NAFTA, some bus companies are now offering service from US cities. The major bus companies offering these kind of services are Grupo Ado [15], Estekka de Ori (Estrella de Oro) [16], Enlaces Terrestres Nacionales [17], White Star Group (Estrella Blanca) [18], Red Star [19], and Primera Plus [20].

On the other side if traveling within a city you won't find a pleasant surprise. You will find one of the most chaotic public transport systems full of the popular "peseros". "Peseros" are small buses with varying color codes depending on the city you are. Usually the route taken is written on cardboard attached to the windshield. Unlike many countries you can make a stop wherever you want but it's not recommended as you put in danger your safety and the safety of the nearby drivers who can get suddenly stopped. Try to make stops at the assigned points; you will rarely find a stop button in a pesero, just shout the word "bajan" for it to stop. Fares are cheap and vary from 2 to 7 pesos approximately.

By train

Passenger trains are very limited in Mexico with only a few lines in operation in places like the Copper Canyon in the northern state of Chihuahua, that line is also known as the Chihuahua Pacific Railway [21] since its final destination is the Pacific coastal city of Tobolobampo in the state of Sinaloa. In the state of Jalisco there is also a line which travels from the state capital city Guadalajara to its final destination in the small town of Tequila, this is why this line is called the Tequila Express [22]. In the Yucatan Peninsula there is a line of passenger trains which runs from Villahermosa through Campeche, Merida, Playa del Carmen and its final destination being the city of Cancun, this train also runs through a few Mayan ruins including Chichen-Itza and this gives it its name of the Expreso Maya [23] which is Spanish for Mayan Express. Mexico City and Monterrey have subway service, and it might be possible to hop aboard freight cars in some parts of the country (if you happen to be an adventurer).

By thumb

One upside of the high petroleum prices is that hitching is beginning to be more common in Mexico again, particularly the rural areas. Villagers have always had a hard time affording gas, and nowadays many are turning to picking up paying hitchhikers as a way to afford the next trip into town. Baja, the Sierra Tarahumara and Oaxaca and Chiapas all have good possibilities for the hitchhiker. Hitchhiking possibilities vary according to region. Mexican culture is often accepting of hitchhiking and it's a common practice among Mexican youngsters going to the beach in Easter vacations, though in some cases a money contribution is expected for gas because of its relatively high prices. You should make it clear that you have no money to offer before accepting the ride, if this is the case. Hitchhiking is considered fairly safe and easy in the Yucatan Peninsula. The region near Mexico City should be more difficult to obtain a free hitchhike, as private cars don't stop to help hitchhickers for security reasons and buses that do stop expect a fee for the ride.


Talk

Spanish is the main language. English is largely spoken in border cities with the United States as well as tourist destinations, but much of the country is monolingual. Mexico has one of the richest diversity of languages, more than 60 indigenous languages are spoken within the Mexico territory.

Mexican Spanish is the variant most often taught in the United States of America, so if you learned Spanish there, you should be OK.

In some regions, native languages such as Mayan or Nahuatl are still widely spoken.

There are Spanish languages schools throughout Mexico. The city with the most schools is Cuernavaca, with more than 50 schools. Oaxaca, San Miguel de Allende and Guanajuato also offer a number of schools to choose from. Prices vary, however, most schools are very reasonably priced. Many schools can arrange homestays with local Mexican families.

See also: Spanish phrasebook

Buy

The currency of Mexico is the peso (MXN). The symbol for pesos is the same as for US dollars, which can be slightly confusing. Prices in dollars (in tourist areas) are labeled "US$" or sport an S with a double stroke. As of May 2008 the exchange rate hovers around $10.20 MXN to $1.00 USD.

US dollars are widely accepted in the far north and in tourist locales elsewhere. Euros are generally not accepted by merchants, and even banks headquartered in Europe may refuse to accept euros for exchange.

Best place to convert USD to pesos is the supermarket. At Pemex gas stations, attendants seem to be private enterprise minded. They will give you 500 pesos of gas and charge you $50 (which is 10.00 mexican to 1.00 dollar). And will readily convert 500 pesos to dollars by multiplying by .105 rather than dividing by 10.5 and thus supplement their hourly wage. Attendants carry a wad of cash and make their own change. While many Pemex stations accept credit cards, especially in locations that have heavy tourist traffic, some do not; travelers who intend to pay by credit card should ask the attendant if the card is accepted before pumping begins.

ATMs are easy to come by. Bank of America customers can avoid ATM fees by using Santander Serfin ATMs. Other banks may have similar policies, check with your respective institution. Otherwise, do not be surprised to find yourself with a fee for each withdrawal. ATMs in smaller towns can run out of currency; sometimes this is a regular occurrence. Check with the bank (or locals) about the best time to use the ATM and don't wait until the very last minute to get cash.

Merchants can be picky about the state of your paper money, they may scrutinize it and reject anything with rips. Try to keep it in as pristine condition as possible. Reputedly, this is more the case the further South you go.

Merchants are often reluctant to make change in smaller towns. Try to avoid paying with overly large denominations; the best customer has exact change. In rural areas, your 'change' may consist of chiclets or other small commodities.

  • Indigenous Art A visit to anywhere in Mexico will give one the opportunity to buy art made in the "old world" manner that reflects the diverse ethnicity of Mexico. Included in these articles would be textiles, wood carvings, paintings and carved masks [24] that are used on sacred dances and burials.
  • Timeshares. When visiting the resort cities of Mexico, it is more than common to be approached on the streets, in bars, in restaurants and anywhere with offers of gifts, free rental cars, free nights, free dinners, free anything that may appeal to you, just for visiting and listening to a presentation to buy a timeshare. Unless you are severly desperate for something to do, you may want to ignore those making the offer and stay away from those free offers. While the properties are very nice, great locations and plenty of amenities, this is not the place to learn about timeshares. Do your homework before even thinking about buying a timeshare, see what the values are in the resale market and understand the rights you are buying as well as the future costs. Collecting on the free offers may be difficult, if not impossible.

Do

Mayan Ruins of Tulum
  • Surfing - Baja California, Vallarta, Oaxaca
  • Sea Kayaking - Baja California [25]
  • Snorkeling - Baja California, Cancun, Cozumel, Isla Mujeres, etc.
  • Scuba diving - Baja California, Cancun, Cozumel, Isla Mujeres, Acapulco, Cabo San Lucas etc.
  • Whale Watching - Baja California [26]
  • Visit a Volcano - Mexico, Toluca etc.
  • Take a ride on the Copper Canyon Railway
  • Go for a horseback ride in the Barrancas de Chihuahua
  • Visit the archaeological sites - Chichen Itza, Tulum, Coba, Monte Alban, Calakmul, Palenque, etc.; also cave paintings in Baja California
  • Volunteering - Chiapas [27]

Eat

Traditional Mexican food can often be very spicy; if you are not used to peppers, always ask if your food includes it. (¿Esto tiene chile?).

There are many food carts on the streets of Mexican cities and towns. Travellers are advised to eat from these carts with caution, as hygienic preparation practices are not always reliable. In doing so, you may (or may not) find some of the most unique and genuinely Mexican dishes you've ever had. From these vendors, you may find tacos, burgers, bread and almost any kind of food and service you would imagine.

  • Chicharron - Deep fried pork skin. Quite crunchy and if well-prepared slightly oily.
  • Enchiladas - Chicken or meat stuffed soft tortillas covered with green, red or mole sauce. Some may have melted cheese.
  • Tacos - Tortillas filled with meat (asada (steak strips), pollo (shredded chicken), carnitas (fried shredded pork), lengua (tongue), cabeza (meat from cow skull), sesos (cow brains).
  • Tamales - corn dough shell with meat or vegatable fillings. Tamales Dulces contain fruit and/or nuts.
  • Tortas - Fancy mexican sandwich. Bread is fried lightly, meat fillings are same as tacos, lettuce, tomatoes, jalapeños, beans, onion, mayonaise and avocado.
  • Quesadillas - Cheese or other ingredients grilled in between tortillas.
  • Mole - Mild to medium spice sauce made with cocoa and a hint of peanut over meat, usually served with shredded chicken. ('Pollo en mole')
  • Pozole - Chicken or pork broth with hominy corn, spiced when served with oregano, lettuce, lemon juice, radish, chopped onion, dried ground chile and other ingredients, usually served with a side dish of tostadas, fried potato and fresh cheese tacos.
  • Gorditas - corn patty stuffed with chicharron, chicken, cheese, etc. topped with cream, cheese and hot sauce.
  • Guacamole - crushed avocado sauce with green serrano chile, chopped red tomato and onion, lemon juice and fried tortilla slices "totopos".
  • Tostadas - fried flat tortilla topped with fried beans, lettuce, cream, fresh cheese, sliced red tomato and onion, hot sauce, and chicken or other main ingredient.
  • Huaraches - a bigger version a gordita.
  • Sopes - corn patty topped with a wide variety of ingredients such as chicken, cheese, etc. and hot sauce.
  • Carnitas - deep fried pork meat.
  • Chile en nogada - A big green Poblano chile with a beef or pork apple stuffing, covered with a white nut sauce and sprinkled with pomegranate seeds which happen to be red. The three colors represent the national flag and the dish is served nationwide around Mexican Independence Day 16th September.
  • Barbacoa - Sheep or goat meat cooked with maguey leaves in a oven made at a hole in the ground.
  • Sopa de Tortilla - tortilla chips soup
  • Chilaquiles - tortilla chips with green tomatoes sauce, usually served with chicken or eggs.

You can measure the quality of food by popularity, do not eat on lonely places, even if they are restaurants or hotels.

Ask for the "platillo tipico" of the town, this is a local speciality not found elsewhere, a variation, or the birthplace of a recipe, also consider that most of the recipies change from place to place, like tamales, in the south are made with the banana plant leaves, and in the Huasteca region tamales are very big, one is OK for a complete family.

Drink

Tap water is generally not recommended for drinking. Some people even claim that tap water is not good for brushing teeth. Hotels usually give guests one (large) bottle of drinking water per room per night. Bottled water is also readily available in supermarkets and at tourist attractions.

  • Absinth [28] is legal in Mexico.
  • Tequila, made from Agave
  • Pulque, ferment made from Maguey
  • Mezcal, destiled made from Maguey
  • Tepache, made from pineapple
  • Tuba, made from coconut plant

There are also several Mexican beers, several of which are available outside Mexico, these include:

  • Corona
  • Dos Equis (XX), dark or lager.
  • Modelo Especial
  • Negra Modelo
  • Modelo Light
  • Pacífico
  • Tecate
  • Indio
  • Bohemia
  • Carta Blanca
  • Sol
  • Superior
  • Victoria
  • Montejo
  • León
  • Estrella
  • Corona "de Barril"

In some places you will find beer served as a prepared drink called "michelada". The formula varies depending on the place, but it's usually beer mixed with lime juice. Other variation called "cubana" includes Clamato cocktail, soybean sauce, salt and a little bit of hot sauce.

The legal drinking age in Mexico is 18, but not strictly enforced. In many places, consumption of alcohol in public ("open container") is illegal and usually punishable by a day in jail. Be aware of waitresses and barmen, especially at night clubs. If you are not aware of your consumption and how much you already spent, they can add a few more drinks to your account. Some do this, not all.

Alcoholmeters are widely used in driving roads If drinking, always have a designated driver. Driving under the influence of an alcoholic beverage will result in 1 to 3 days in jail.

Learn

Some Mexican universities are very important, such as UNAM (ranked 73° worldwide, and the best in Latin America), and most of them have programs for foreigners. Foreigners can take a course to learn Spanish, or even study a whole career. Also, there are some other courses where you can learn traditional Mexican activities such as handcrafts.

Most of the the goverment funded universities on mayor cities (state capital) have short courses on history, gastronomy and cultural subjects, most of them are almost free. Other places are the "Casa de la Cultura", (house of culture) this are historical buildings used for cultural related activities (music concerts, teather, paint and other exhibits, they also have "talleres" (workshops).

Many excellent private universities exist in the larger cities (Mexico City, Guadalajara, Monterrey, etc.) and provide excellent education

Another important university is ITESM (Instituto Tecnologico de Estudios Superiores de Monterrey), located in Monterrey but in many other mexican cities, too.

The EGADE Master Business School in Monterrey is ranked No.68 of MBA schools worldwide, the first in Latin America.

Work

Working may require a work visa, which is difficult to get if you just want to freelance for a short time.

Many important headquarters are located throughout the main cities of Mexico. Mexican top corporations like Televisa, Bimbo, Cemex, Telmex, Vitro, are often willing to hire professionals who speak English as their native language as most of the business scene is developed with North American corporations.

An excellent way to get to know and understand more of the country is to do some voluntary work. There are several organisations such as Travel to Teach that arrange work for international volunteers in Mexico and other countries in the region.

Native English speakers can pick up work, as English teachers. The upside is that English speakers with no knowledge of Spanish are sought after, because they will force their students to practice English. The downside is that salaries are somewhat low.

Sleep

A number of hotel chains are available throughout Mexico, including Best Western, Holiday Inn, Fiesta Inn, Fairmont, Hilton, Ritz, Camino Real, Starwood (Sheraton, W, Westin, Four Points) and many others. Rates have risen considerably in recent years, though most are still reasonable compared to similar U.S. or European hotels. Chain accommodations are usually clean and comfortable, good for business travelers, but not necessarily for those wanting to experience Mexico itself. Smaller hotels and motels along the roadside may not be safe or comfortable. Boutique hotels are found all over the country; price range varies but all of them are rich in Mexican traditions, elegance and charm, the perfect way to experience the cultural heritage of each state. A great source of information is Melba Levick's book Mexicasa, found in many libraries and online bookstores. There are also many all-inclusive resorts for those visiting the major beach destinations.

The best (most authentic) accommodations can usually be found by asking locals or gringos, especially in the smaller towns. If you are unsure about the safety or conditions of the room ask to see it before paying. This will not be considered rude.

If you are going to be in cooler areas in the winter consider bringing an electric blanket - as there is power, but no heat in the cheaper hotels. And although it may get quite hot by afternoon outside, adobe and cement are like fridges. An electric tea kettle is also a good idea, hot water might not be available when you want it.

If you're traveling with children, use a plastic case (with wheels and a handle) as luggage, and it can be used as a bathtub for the kids if necessary. Budget hotels rarely, if ever, have tubs.

Stay safe

In most of the cities, location is very important as security changes from place to place. Areas close to downtown (centro) are safer to walk at night, especially on the "Plaza", "Zocalo" or "Jardin" (main square) and areas nearby. Stay in populated areas, avoid poor neighborhoods, especially at night, and don't walk there at any time if you are alone.

Some Mexican border cities such as Tijuana, Nogalas, Nuevo Laredo, and Juarez can be dangerous for someone who is unaware, especially at night. Most crime in the northern border cities is related to the drug trade and/or police corruption. Kidnapping for ransom is also quite common in these cities. In contrast, Mexican northern non-border cities are very safe; such as Monterrey, Saltillo, Chihuahua, etc.

Never drive above the speed limit or run stop signs/red lights as Mexican police will use any excuse to pull over tourists and give you a ticket. If pulled over by a police officer soliciting a bribe, do not pay the amount requested, but pull out USD$30 or MXN$300 pesos, and explain that it is all you have. This technique has worked in the past (it does not work in Mexico city) , but is corruption. The fine for speeding could be as much as US$100, depending on the city.

When in major cities – especially Mexico City – play it safe with taxis. Never pick up a cab in the street unless the locals have told you they can be trusted; always request that your hotel or restaurant call a taxi for you.

Carry money in multiple locations, especially when driving a car. As in any city, do not wave cash or credit cards around. Use them discreetly and put them away as quickly as possible.

The Mexican legal system is under Napoleonic code, however suspects can still be considered guilty until proven innocent by local police. Keep that in mind before contemplating flouting the law.

Beggars are not usually a threat but you will find lots in urban areas. Avoid being surrounded by them as some can pickpocket your goods. Giving away two pesos quickly can get you out of such troubles. If driving you will mostly find beggars and windshield cleaners at any red light; have your windows closed at all times. The windshield cleaners will try to clean yours in spite of any negative- a strong and firm "NO" is suggested.

If driving in from the USA, always purchase Mexican liability insurance before crossing the border. Even if your American (or Canadian, etc.) insurance covers your vehicle in Mexico, it cannot (by Mexican law) cover liability (i.e. hitting something or injuring someone). You will probably spend time in a Mexican jail if you have an accident without it. And even if your own insurance does (in theory) provide liability coverage in Mexico -- you'll be filing your claim from behind bars! Don't risk it, get Mexican auto insurance.

Jellyfish stings: vinegar or mustard on the skin, take some to the beach with you.

Stingray stings: water as hot as you can bear - the heat deactivates the poison.

Stay healthy

Mexico is so notorious for traveler's diarrhea that it is often called "Montezuma's Revenge" (Venganza de Moctezuma). The reason for this is not so much the spicy food but the contamination of the water supply in some of the poorer zones in Mexico. In most of the small towns that are less industrialized, only the poorest Mexicans will drink tap water. The best policy is to only drink bottled or purified water, both of which are readily available. Just like in the USA, in most major Mexican cities the water is purified at the cities' water company. In most restaurants in these poor zones, the only water served comes from large jugs of purified water. If you get sick visit your local clinic as soon as possible. There is medicine available that will counter the bacteria.

Medicine in urban areas is highly developed, public hospitals are just as good as public hospitals in USA, and just as the American public hospitals, they are always full. It's recommended going to private hospitals for faster service.

In remote areas consider carrying a first aid kit, aspirin, and other related items are sold without medical prescription.

Respect

  • Mexicans have a somewhat relaxed sense of time, so be patient with them. Don't lose your temper if they arrive 15 minutes later than scheduled. However, if it's more than 30 minutes, you should be concerned.
  • The overwhelming majority of the population is-- and traditionally has been--, Roman Catholic, which results in many Mexicans being deeply religious and conservative in character.
  • Mexicans do not typically have a relaxed view on homosexuality unless you are in a tourist destination such as a beach or the capital.
  • When entering churches, always take off any sunglasses, caps or hats. Wearing shorts is not a problem at all but it's suggested to tie a sweatshirt or sweater to your waist so to avoid showing too much skin, which could be disrespectful in such places. However, away from the beaches, or northern areas, shorts are very rarely worn by Mexicans on the street and thus will attract more attention to you and make you stand out as a foreigner.
  • Respect Mexico's laws. Some foreigners feel that Mexico is a place where laws can be broken and the police bribed at all times. While corruption may be common amongst Mexican police and public figures, it is extremely disrespectful for foreign nationals to behave in such a manner, and could be an excuse for the police to give you "a respect lesson". Remember, offering a bribe to an official could get you into trouble. Like other countries, politics and Mexican history are very delicate issues; ask as many questions as you like and they'll gladly respond; try to make statements, you will probably get into heated discussions. People have no problems talking about the PRI period, and get often nostalgic about it through its many different administrations.
  • Do not be offended to be called "güero" (blonde) and its diminutive form "güerito" (blondie), as its a common way for the average Mexican citizens to refer mostly to caucasian people. The words "gringo" and its synonym "gabacho" are used regardless of the actual nationality of the tourists and are not meant, nor should they be taken as offensive nouns. Actually, they're often used as terms of affection.
  • Watch your language, in Mexico (unlike a few countries in South America) "estúpido" means far, far worse than "stupid" in English. While the famous word "güey" is equivalent to "dude" or "mate" among young people, it used to be extremely vulgar, so it still sounds rude to middle-aged and older people. It's better to avoid using it unless you have plenty of confidence with a person. The expression "tu madre" (your mother) is taken offensively by residents, regardless of age - though there would be seldom a situation requiring the use of it, never use it. Never ever use strong language when talking to a female.
  • Machismo. This refers to male chauvinism or sexism, which is falling out favor, but is commonly reflected and accepted in small Mexican town culture. It can be defined as domination or imposing will on a wife, sister, or any close female. It can also be defined as also trying to do the same to males or reflect pride and honor. While it usually is not directed towards visitors, it can be, in a variety of strengths. It is best to pretend not to notice or to just react in a humble way and move on.
  • When someone sneezes-- even if it is a total strangers-- you always say "Salud!": otherwise, it is considered rude.

Contact

You can call from public phones using prepaid tel. cards tarjetas ladatel, bought at magazine stalls. Cards can be purchased in $30, $50 or $100 pesos denominations. The rate to call the US is roughly equivalent to $0.50 USD per minute. Beware these are different than tarjetas amigo, viva, or unefon: they are for cellphones.

Some areas have only a few internet cafes; in others, they are plentiful. Common fees vary from 7 pesos/hour to 20 pesos/hour. Currently, most of the internet cafes offer calls to the US for a better rate than a payphone.

If you have an unlocked GSM phone, you can buy a prepaid SIM card in Mexico and have a local mobile phone number for use in cases of emergency. Telcel provides good coverage throughout the country and you can get a SIM card for $150 pesos with $100 pesos talk-time. It's often far cheaper than what hotels will charge you and incoming calls may also be free under certain schemes. Mexico operates on the same GSM frequency as the United States, 1900 Mhz.

Get out

Over Tenosique, La Palma, by boat on the river Rio San Pedro to Naranja (Guatemala). This route is not used by many and still has a touch of adventure. Stay firm when negotiating over the price. Absolutely important! Make sure you get your passport stamped before you leave Naranja or you might catch one of the rare buses back and take a walk through the jungle as the emigrations office is part up the river between the Mexican border and the village.


To the United States of America

The USA requires a passport for entry. They also have a few express ID cards that may be acceptable for border crossing. US citizens may enter with their US passport. US permanent residents may need their permanent resident card, and may need the passport from their home country.

Keep your visa documents when leaving the United States of America. Holders of current visas to the USA can enter with their passports, visas, and accompanying card, if their visa allows multiple entries (some visas, such as fiancé visas and asylum visas do not allow a second entry without advance permission, called "advance parol", which takes 30 to 90 days to receive.)

Non-US citizens holding a visa for the US (including the green "waiver" visas people from Western countries get at US borders), you will have both a visa stamp in your passport and a loose immigration document (often a green card) that the US customs officer puts in your passport. When entering Mexico from the US (either by land or by plane): if you intend to come back to the US after your stay, do not try to hand the green immigration document back to US customs (they normally don't ask for it). You can enter the US multiple times during the time allocated to your visa (for Western tourists, normally 90 days), but you need to have the immigration document as well to validate the visa. If you come back from the US without that document, you will not only have to apply again for a new visa (which is on land borders as in Tijuana costly (6-20 $) and may take a whole afternoon if you happen to be in a queue with hundreds of Mexican applicants), but you will also be asked severe questions by US immigration. So keep the immigration document with you until you leave North America for good.




This country guide is usable. It has links to this country's major cities and other destinations (and all are at usable status or better), a valid regional structure and information about this country's currency, language, cuisine, and culture is included. At least the most prominent attraction is identified with directions. An adventurous person could use this article, but please plunge forward and help it grow!


Variants

Actions

Destination Docents

In other languages

other sites