daniel
wiki.bottenskrap.se
looking glass

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