@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@..........................................`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.`.```..........................,
@...........................................````````````````````````````````````````````````````````````````````````````````````````````````````````````````.``````.``.``........................
@...................................``````....````````````````````````````````````````````````````````````````````````````````````````.`````````````````````````.`....`.``..`....................
@.............................````````````.`.````````````````````````````````````````````````````````````````````````````````````````.``````````````````````````.....``...``.....................
@....................`....```````````````````..``````````````````````````````````````````````````````````````````````````````````````````````````````````````````.......``....................,..
@........................``````````````````.....```````````````````````````````````````````````````````````````````````````````````````````````````````````````````..`...........................
@......................`````````````......`..`.`.`````````````````````````````````````````````````````````````````````````````````````````````````````````````````.`...``........................
@......................``````````````...``````````````````````````````````````````````````````````````````````````````````````````````````````````````.```````````...............................
@......................`````````````.````````````````````````````````````````````````````````````````````````````````````````````````````````.````````.````````..................................
@....................`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.``.```````````````..................`.................
@.....................`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````...............`......................
@...................````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.````.```.```````...`....................................
@..................````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.`.................................`......................
@..................``````````````````````````````````````````````````````````````````````````````````````````````````````````````..........`..............`.................................,...,
@..................````````````````````````````````````````````````````````````````````````````````````````````````````````````.`............. ..........`......................................,
@................``````````````````````````````````````````````````````````````````````````````````````````````````````.`..``...`.........................`.........................`...........,
@...............`````````````````````````````````````````````````````````````````````````````````````````````````````.`..``.`................................................`......,.....,.....,
@...............`````````````````````````````````````````````````````````````````````````````````````````````````````.....`......................`......`............`........................,,,
@...............````````````````````````````````````````````````````````````````````````````````````````````````````````.``.`..........................................`.....................,,,,
@...............`````````````````````````````````````````````````````````````````````````````````````````````````````````````.`............................`....................,,.......,..,.,,,
@...............`````````````````````````````````````````````````````````````````````````````````````````````````````````````````...............................................:.,.,..,........,
@................``````````````````````````````````````````````````````````````````````````````````````````````````````````````````.....................`.....................,...........,......
@................````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.....................`......................................
@................`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````...........................................................
@.................```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.......................,`...............................
@.................````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.......................................................
@.................`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````..................................................
@.................```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````............................................,...
@.................```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.................,..........................
@...............`.`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````..........................................
@..............``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````........................................
@............`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````...................`..................,
@.........````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````......................................,
@........````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````......................................,,
@.......````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````..............................,.....,
@......`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.......................:.....,......,
@.....```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````,,,..................,::::::::::,,::''''+###@@'+...........,
@....`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````:;::::::::,,..;;'';;;''+;,,::::;;'++###'######@@#'.:..........,
@.....```````````````````````````````````+++.``````````````````````````````````````````````````````````````````````````````````.';;;;;;;;;:,.:;;;''++''++++++++#+:;''+###@#@#@#@@@#'..........,..
@.....`.```````````````````````````````` '';;;:;;,..```````````````````````````````````````````````````````````````````````.`:+''';';;'';;;:;+###@###@@@#######@##@#'++#####@@#@@@#'........,....
@........```````````````````````````````#;';;;:';:,,,...............```````````````````````````````````````````````````````;#++++++'+'+'';;''++###############@@@@@@@@+++###@@@@@@#+.............
@.........``````````````````````````````#'';;';'';:,..,,:;,,,,,,,,,,,,........`` ...```` ```` ```` ``````````````````#####++++++++';;;''+################@@@@@@@@@@+++###@@@@#'............,
@...........````````````````````````````''';'';;;;;:;:::::;;':,:,,,,,,,,,,....```...```....``...```...`` .``````........,########++++++'':#;'+###@#+++##@@#++###@#@@@@@@@#####@@@@#;,........,,,,
@.............``````````````````````````#;'''';;';';;;;;;;;;::;::::,,,,,,,,,,,,``,.,``...........``...```........,,,,::'#@@#######++++'';;';'+##;'+''''+++++@@+++##@@@@@@@@+##@@#@#+.........,,,,
@..............`````````````````````````'';;;;;;';;;;;';;;::;;;;;::::::,,,,,,,,,..,,,.`,,,,,,,,,```,,,``,....,,,,:::::####@#######++++'';;;;'#@''''''''''+'''++@++++##@@@@@@+#@##@#'.........,.,.
@................```````````````````````:;'';;;;:;;;;;'';;';;;;;;;:::::::,,,,,,,,..,,,...,,,,,,,..,,,`.,,,,,,,::::;;@#@@@@@@#######+++''';''##;;;;'''''''''''++++@''+++++##@+#@##@++........,,,,,
@,,.................````````````````````,:;;;;;;;;';;;;;;;;;;;;';;;;;;::::::::,,,,...:,,,,.,,,,..::,..:,,,::::;;;'###@@@@@@#########++';;;#+#;;;;;;'''#+++#+'+++++@'++++++###+#@#@+;....,..,..,,,
@::,::,,,,..`.......`.``````````````````::;;;;;;;'';;;;;;;:::::::::::;;;;;::::::::::....:::::...::..::,,,:::;;;;+######@############+'';;;;#;;;;;;''#''''''''#++++#++##+#+++@+#@#@'#...,,.,,,.,,,
@::::::::,,:,,,:,..`.`.````````````````,;::;;;;;;'';;;;;;::::::+@#@;:::;;;;;;::::::::::....,..;:::::,,,:::;''''+++########++++++++##+';'';'';;;;;;'++#######+++'+++########+@+#@#@''.,...,,,,,,,,
@::;;::::::::::,,,,,,,..````````````````;;;;;;;;'';;;;;;::::::@#+###@:::::::::::;:::::;:;;;;;;;;::,;@#@@';;''''''''++++++++@@@@++++++'''''#::;;;;'++###########''+##########@+##@@'+..,..,,,,,,,,
@:;:';:;:;;::::::::,:,,,,,````````````.;'';;;;;;''';;;;;;::;:########@,,,:+#',:::;;;:::,,,,::::::+@###+###;;';@###@@@''@@@#######+++''';;'+::::;;+#############''+@########+#+####;......,,,,,,,,
@;;;;';:;;';::::::::::::::,,...`````````''';;;;''';;;::::::,@##@::###@,@@#####@::::;:,#@@#@+,:::@###@@#####;@@##############@@####+'';';'#;;:;;;;+############@''+##########@#+#@#''.....,,,,,,,,
@';;:'';;:'';;;;;;;;;:::;:::,,..```````+'''';;'''';;;:::#@@@##@:,,:@#+####@@####::::@######@@:,@##@@#;;#@######@@@@@###@@@@@++@##@'''#'''#;;;;::++############;''###@@######@+##@#+........,,,,,,
@:;';''';;+'';;;;;;;;;;;';;;::,,`.````.,';''';;''';;;::@######'::::'#+##@@@#@@##@:,####@@@@##@@##@#:::::+####@@+;;;+@#@@';;;;;'@#@#';+''#';;;:;;+############@;'+#@@#@######@+##@#'......,,..,,,,
@;:+';+'';;''''';;;;;;;''';;;;::,,`````,';'''''''';;;;@#@@@@#@;::::'@#@@;::::'@##'###@@+;;#######'::::::;@####::::::'@@':;;;;;;'##@;''#'#;;;;;:;+############;'+@#@@@#######@+##@+#....,,,,,,,,,,
@;;:';+''';+'''''''''''''+'';;;:::,.``.'';'''''''';;;@#@@;;'@#;::::'@@@;:::::;#####@#+;:;;;##+##':::::::;@#@#:::::::;@@;;;;;;;:'@#@;''''#;;;;:;'###########@+++@@@@@########'+##@;,.....,,,.,,,,,
@;;;';'+'';#+++''''''''++++''';;;::,,,`;''''''''''''##@@;;;;#@':::;'@@;:::::::'@###@';;;;;;'@#@#::::::::;#@@;:::::::'@#::;::;;;'@#@''+'@';;;;;:+###########+''@########+###@'+###;,,,..,.,,,,,,,,
@;;;:';++''#++++++++++++#++++''';;;;;:,''''''''''''+@#@';;;;+@+;;;;##';:;;::;;;@##@':;;;;;:'@@#;::::::::'@@#:::::::;'@':::;';;;'@#@'+''#;;;;:;:###########+''###########+###'####''.,,,,,,,,,,,,,
@;;';';'+''+#+++++++++####+++++'''';;';';;;''''''+++@@@;;;;;'@#;;;'@@;;;;;;;;;;#@##;;;;;;;:;@@+:::;'';;;+##':::;';''@@;::;'@;;;'@#@''+#';;;;;::#######@#@+''+#@+########+++''####':..,,,,,,,,,,,,
@;;;;:'''+'+##+++++++#######++++''''+'''''''''''+++'@##;;;;;'@@;;;+@#;;;;;'';;;+@@;;;;;;:::'@#;:::'#@@#@@##;::;'@@@@#@;::;#@;;;'@#@'''#;;;;;;:;@#######@'';+#@##########+#+;'####''..,,,,,,,,,,,,
@;;;;;'''+++####++++#########+++++'++''''';''''+++''@@#;'''''@@'''+@';;;;'+#;;;+@+;;;;''';'#@#;:::'@@;;:;@#;::;@@##+#@:::'@@;;;'@#@'++#;'';;;:::######';''+@#@############@'#####++...,.,,,,,,,,,
@;;;;;;+'++####################++++++'',::::::+++'''#@#''''''#@'''+@''';;+@@';;+@;;;;'@@@#@#@@:::;#@;::::#@::::;@@@#@@:::'@+;;;##@@+++#';;';;;:::;+;:::''##@#@@############+####@++...,,,,,,,,,,,
@;;;;;:++++#########@##########++++#'::;;::::::;'';##@+''''''+#'''#@';'''#@@';;+@;;;;+#@;;;'@@:::;@@:::::'@:::::::'###::::;::;'@#@++++@''';;';::::::::;;######@###########+'+####'+.....,.,,,,,,,
@;;;;;;++++@#######@@#############;::::;:::::::::;;@@@+'''''''''''#@';';'@@@';;+@;;;'@@;:::;@@;::;##;;:::'@:::::::'#@#:::::::'@##@+++#+';;;;;;;:::::::;#+++###@###########'+#####'+.....,.,,,,,,,
@;;;;;::#+#@@#@@@@@@@@@#######@+::::::;;::::::::;;'@@@+'''#'''''''@@;;;;'@@@;;'#@;;;'@@::::;#@;:::'#@+;:;+@:::;'''##@#:::::::'@##+++###+'''';;;;;::::'##+################@'+#####',........,,,,,,
@;;:::::##@##@@@@@@@@@@@@@###:;;;;;;;:;;:;;;;;;::;'@@@'''+@''''''+@@';;;'@@#;;'@@;;;;@@;;::;#@;:::;#@'::;#@::;+@@@###+:::::::+@##@++##@+@@@#+''''#++#########'##########@'+######';.........,,,,,
@::::::::;+##+++#@@@#@#@@@#;;;;;;;;;';;;;;;;;;;;;;+@@@'''+@+;;;;;+@@';;;'#@';;+@@;;;;+@@#:;;@@+;;:;:;:;:'@@::;#@@@@@@#:::::::;@@#####@@@@@@@#++#######@##@##############@'+######+;..........,,,,
@;;:::::::::::::::::::;::::::::::'';;;';';;;;;;;;'+@@@;''+@#;;;;;+@@';;;;;';;'#@@;:::'@@';:'@#@';;;;;;;'#@@;;;''';;'@@;;::::::;#@####@@@@@@@@@@#@####@##################++###@##@+;........,,,,,,
@;;;:::::::::::::::::::::::::::;;''';;'''';'''''''@@@#'''+@#;''''+@@#'''';;;;'@#@+:::::::;;+@##@';;;+#++@@@';;;;;;;'@@;;;'';;;;'@#@##@@@@@@@@@@@@#####@########+++#####@'+########,.....,.,,,,,,,
@;;;;;;;;;;;:::::::::::::::::::;;;''''''''''''''+'@@@''''+@@'''''+@@@';;;;;;'@###@;::::::;'@###@#+'@@#@@##@';;;;;;;'@@;;;+@';;;;+@@@@@@@@@@@@@@@#############@#########@+##@######;:....,,,,,,,,,
@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''+'++++++@@@''''+@@'''''+@##@';;:;'######@'::::;'@@#@@##@@@;;#@##@@';;;;;;'@@;;;+@';;;;+@#@@@@@@@@@@@@@################+######'+##@#####@':...,,,,,,,,,,
@;;;;;;;;;;;;;;;;;;;;;;;;;;;;';''''';''''++++++++#@@@''''+@@'''';+@##@@''''@##@@@@@@''''@@#@@#@@@#;@;;:@@@@@#'''''+#@@';;+@#';;;+@#@@@@@@@@@@@@@@##@##############+####'##@@##@##@+;.,,,,,,,,,,,,
@;;;;;;;;';;;;;;;;;;;;;;;;;;'''''''++''''+++++++##@@@'';'+@@';;:'@#####@@@@@#@@@@;#@@@@@@;;@@@@;;+;'+;;@@@'@@@@@@@@##@';'+@@+'''+@@@@@@@@@@@@@@@#@###############+####++##@@@###@#+:..,,,,,,,,,,,
@''';;;';';''''';;;;;;;;''''''''''+++++++++'''+++#@@@+'''@#@#';'+###@@@@,:::::::@;+@####@;;;@@;;@@;;@;;@@:@@####@#@@#@#''+@@#''+#@@@#@@@@@@@@@@@@@#################+##'+#@@@######@',,,,,,,,,,,,,
@''''''''''''''''';;;;;''''''''+++++#++++++++##+''@@@@++@####@#@##@+@@,::::@@@@';;;@@@@@'#;;@@;;@@;;@+;@;@@@@@@@@@+'@@@''+@@@#+#@#@@#@@@@@@@@@@@#@###################@'+#########@#;,,,,,,,,,,,,,
@'''''''''''''''''''';;'''''''++++++##++++#####'';:#+++##########@@;@::@@+;@@@@@:;;@@@@@;@;;@@;;@@@;@@;;;@@@@@@@+;;'@#@#+@###@@@#@@@@@@@@@@@@@@@@####################''+#########@#;,,,,,,,,,,,,,
@''''''''''''''''''''''''''''+++++#+###########'';:'######,@#@@@@+'#@:@@@@;#@@@;@;;@@@@@;@@';@';@@@@@@;''';@@@@@;'''@@@@###@####@@@@@@@@@@@@@@@@@@@#######++#########''+#########@#;,,,,,,,,,,,,,
@'''''''''''''''''''''''''''++++###++##########+';;;:+##:;;';##+'+##@;@#@@;'@;''@''@@@@@;#'''@''@@@@@@''@'''''''''++@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@############+#++##'#+#########@#',,,,,,,,,,,,,
@''''''''''''''''''''''''''+++#####+#####++######+'''';'''+'++++###@@#'''@'''+#''@'@@@@'''#@''''@@@@'@''@@@+'''''@@@@+@@@@++####@@@@@@@@@@@@@@@@@@@##@@#@@##########'+##@##@#######'.,,,,,,,,,,,,
@''''''''''''''''''''+''''++++#########@##'######@@@@#++++++###@@@@@@@''#@''@@@+@@'#@''#@@@@+'#'#@@'@@@'@@@@@@@@@@#@###++++##@#@@@@@@#@@@@@@@@@@@@@@@@@@@#@########@'+###@@@###@@@@'.,,,,,,,,,,,,
@'''''''''''''''''''+++++++++##########:#''####+@@@@@@@@@@####@@@@@@@@'@+@#+@+'@@@'''@@'@@@@@@@@@#@@@@@@@@@@@@@@@@@#####++####@@@@@@@@@@@@@@@@@@@@@@@@@@@#@########++###@@@@###@@@@';,,,,,,,,,,,,
@'''''''''''''''++++++++++++#####@@###+.#''+##+#@@@@@@@@@@@@@@@@@@@@@@@#@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@###++###@@@@@@@@@@@@@@@@@@@@@@@@@@##@######@@@++####@@@@@@@@@@',,,,,,,,,,,,,
@''''''''''''''''+++++++++++,..;######..+''+####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+####@@@@@@@@@@@@@@@@@@@@@@@@@@@#@######@##+#######@@@@@@@@++,,,,,,,,,,,,
@'''''''''''''''''+++++#####.,,,.:@#;,,.#'+#####,.......:'#@@@@@@######@###@###########@@@@@@####@@###@#@@@@##@@@@@#######@@#@@@@@@@@@@@@@@@@@@#@@@@@@@@##@#####@@+##@@@@@@@@#@@@@##;,,,,,,,,,,,,
@'''''''''''''''''++++#######,,,,,,,,,,,@@#;.......................................................................................................,:;;;'''+#@@@@+#@@@@@@@@@@#+;;:,,,,,,,,,,,,,,,
@'''''''''''''++++'+++#######:::::::::::,,,,,,,....,,,,,,,,,........................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
@'''''''+'''''+++++'########++;;;;;;';;;::::::,,,,,,,:::::,,,,,,...........................................................,,.,.,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,
@'+'''''++++++'+++++#@@#####++++'''+++''';;;;;::::::;;;;;;;:::,,,.........................................,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,::
@'+''++++++++++'+##+@@@#####+++++++++++++'''''';;;;;'''''''';;::,,,...............................,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
@+++'++++++++++++###@@@@#####+++++++++++++++++++''''++++++++''';::,,........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,:::::::::::
@+++++++++++++++++#@@@@@####+++++++++++++++++++++++++++'+++++++';:,,,....,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,::,,,,,,,,:::,,,::::::::::;;;::::
@+++++++++++++++++###@@@@###++++++++++++++++++++++++++++++++++++';::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,:::::::::::::::::::::;;;;;;::::::::::::::::::;::::,,:::::::::;;;;::;;;;;;;;;;
@+++++++++++++#++++++#@@@@#+++++++++++++++++++++++++++++++++++++'';::,,,,,,,,,,,,::,:::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;'''''';;;::::::;;;;;;;;;;;;;::::;;;;;;;;;';;;;'''''''';;
@+++++++#+++++#++++++++###+++++++++++++++++++++++++++++++++++++'+'';:::::::::::::::::;;;;;;;;;;;;;;;;;;;;';';;;;;;;;'''''''''''''''''''''''+++'''';;;;;;'''''';';''';;;;;;''';;'''''''''++++++'''
@#########+++++++++++++++++++++++++++++++++++++++++++''''''''''''''';;::::;;;;;;;;;;;;'''''''''''''''''''''''''''''''''''''+''''''''''''''+++'+''''''''''''''''''''''''''''''''''++''''++++++++++
@##########++++++++++++++++++++++++++++++++++++++++''';;;;''''''''''';;;;;;;;;;;::;;;''''''''''''''''''''++''''''''''''''''''''''''''''''+++''''''''''''''''''''++'''''''''++''''+++'++++++++++++
@###########+#+''+++'++++++++++'''''''''''+++++++++''';;;;;;'''''''''';;;;::::::::::;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+++''''''''''+''+++'++++++++++++++
@#############+'''''+'++'''''''''''''''''''++'+'++''';;;:;;;;;'''''';';;;:::::::::::::;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++++'''++++++++''+++++++++++++++++
@#############''''''''''''''''''''''''''''''''''''''';;;;::;;;;;;;;;;;;;::,,,,,,,,,::::;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'++++'''+++++++'++++++++++++++++++
@#########@###'''''''''''''''''''''';;''''''''''''''';;;;;:::::;;;;;;;;;::::,,::::,,:::;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'''''''++++++++++++++++++++++++++++++++++++
@########@###'''''''''''''''';';;;;;;;;;''''''''''';;;;;;;::::::;;;;;;;;:::::::::::,,:::;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'''''''''+++++'++++++++++++++++++++++++++++
@######@#@@@;''''''''''''';;;;;;;;;;;;;;;;;;'''';;;;;;;;;;;:::::;;::::;;::::::::::::,,:::;;;''''''''''''''''''''''''''''''''''''''''''''''''+'+''''''''''''''''++++++++++++++++++++++++++++++++++
@#####@@@+;;;;;''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::,,,:::;;;;;'''''''''''''''''''''''''''''''''''''''''''''+++''''''''''''''''++++++++++++++++++++++++++++++++++
@####;;;;;''''''''''''''''';;';;;;;;;;;;';';;'''''';;;;;;;;;:::::::::::::::,,,:::::,,,,:::::;;;;;;'';';'''''''''''''''''''''''''''''''''''''+++'''''''''''''''+++++++++++++++++++++++++++++++++++
@+'''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;:::::::::::,,,::,,,,,,,,,,,,,,,,,::::;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++++++++++
@''''''''''''''''''''''''''''''''''''''''''';;;;;;;;:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::;;;;;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''++++++++++++++++++++++++++++++++++++
@''''''''''''''''''''''''''''''''''''''';;;;;;;::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;;;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++++++++
@+'+'++++''''''++''''''+''''''''''';;;;;;;::::::::::::::,::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::;;;;;;;;'''''''''''''''''''''''''''''''''''''''''''''''++++++++++++++++++++++++++++++++++
@'+++++++++'++'++++'''''''''''';;;;;;:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,:::,,,,,::::::::::::;;;;;;;;''''''''''''''''''''''''''''''''''''''''''''++++++++++++++++++++++++++++++++++
@+++++++++++++''+'''''''';;;;;;;:::::::::::::::::::::::::,,,,:::::::,,,,,,,,,,,,,,,,,,,,:::,,,,,,::::::::::::::;;;;;;;;'''''''''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++++++++++
@++++++++++'''''''';;;;;;;;;:::::::::::::::::::::::::::::,,,,:::::::,,,,,,,,,,,,,,,,,,,,:::::,,,,,::::::::::::::::;;;;;;;;'''''''''''''''''''''''''''''''''++++++++++++++++++++++++++++++++++++++
@+++++++''''';;;;;;;;;;:::::::::::::::::::::::::::::::::::,,:::::::,,,,,:::::,,,,,,,,,,,,::::::,,,,,::::::::::::::::::;;;;;;;;'''''''''''''''''''''''''+'++++++++++++++++++++++++++++++++++++++++
@+'''''''';;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::,,,::::::::,,,,,,,,,,,,:::::::,,,,,::::::::::::::::::::;;;;;;;;;''''''''''''''''''''''''+++++++++++++++++++++++++++++++++++++++
@''';;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::,,,,,,:::::::::::::::::::::;;;;;;;;;'''''''''''''''''''''''+++++++++++++++++++++++++++++++++++++
@;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::::::::,,,,,::::::::::::::::::::::::;;;;;;;;''''''''+++++'''''''+++++++++++++++++++++++++++++++++++++
@;;;;;;;;;;::::::::::::::::::::::::::::::::::,,,:::::::::::::::::::::::::::::::,,,,,,,,,,:::::::::::,,,,,,::::::::::::::::::::::::::;;;;;;;''''''''++++++++++++++++++++++++++++++++++++++++++++++
@;;;;;;;;;;;;::::::::::::::::::::::::::::::,,,,,::::::::::::::::::::::::::::::::,,,,,,,,,::::::::::::,,,,,,:::::;::::::::::::::::::::::;;;;;;;;''''''''''++++++++++++++++++++++++++++++++++++++++
@;;;;;;;;;;;;::::::::::::::::::::::::::::,,,,,,,:::::::::::::::::::::::::::::::::,,:::::::::::::;;;;::,,,,,,::::::::::::::::::::::::::::::;;;;;;;;''''''''+++++++++++++++++++++++++++++++++++++++
@;;;;;;;;;;;:;:::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::;;;;:::,,,,,:::::::::;;;;:;:::::::::::::::;;;;;;;;;;'''''''+++++++++++++++++++++++++++++++++++++
@;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::,,,::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;::,,,,,,::::::;;;;;;;;;;:::::::::::;:;;;;;;;;;;;;;''''''++++++++++++++++++++++++++++++++++
@;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::;::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;:::,,,,,:::::;;;;;;;;;;;;;:::::::::;;;;;;;;;;;;;;;;;;'''''+++++++++++++++++++++++++++++++