MMMMMMMM               MMMMMMMM                                    lllllll                                    
M:::::::M             M:::::::M                                    l:::::l                                    
M::::::::M           M::::::::M                                    l:::::l                                    
M:::::::::M         M:::::::::M                                    l:::::l                                    
M::::::::::M       M::::::::::M  aaaaaaaaaaaaa  rrrrr   rrrrrrrrr   l::::l    ooooooooooo   nnnn  nnnnnnnn    
M:::::::::::M     M:::::::::::M  a::::::::::::a r::::rrr:::::::::r  l::::l  oo:::::::::::oo n:::nn::::::::nn  
M:::::::M::::M   M::::M:::::::M  aaaaaaaaa:::::ar:::::::::::::::::r l::::l o:::::::::::::::on::::::::::::::nn 
M::::::M M::::M M::::M M::::::M           a::::arr::::::rrrrr::::::rl::::l o:::::ooooo:::::onn:::::::::::::::n
M::::::M  M::::M::::M  M::::::M    aaaaaaa:::::a r:::::r     r:::::rl::::l o::::o     o::::o  n:::::nnnn:::::n
M::::::M   M:::::::M   M::::::M  aa::::::::::::a r:::::r     rrrrrrrl::::l o::::o     o::::o  n::::n    n::::n
M::::::M    M:::::M    M::::::M a::::aaaa::::::a r:::::r            l::::l o::::o     o::::o  n::::n    n::::n
M::::::M     MMMMM     M::::::Ma::::a    a:::::a r:::::r            l::::l o::::o     o::::o  n::::n    n::::n
M::::::M               M::::::Ma::::a    a:::::a r:::::r           l::::::lo:::::ooooo:::::o  n::::n    n::::n
M::::::M               M::::::Ma:::::aaaa::::::a r:::::r           l::::::lo:::::::::::::::o  n::::n    n::::n
M::::::M               M::::::M a::::::::::aa:::ar:::::r           l::::::l oo:::::::::::oo   n::::n    n::::n
MMMMMMMM               MMMMMMMM  aaaaaaaaaa  aaaarrrrrrr           llllllll   ooooooooooo     nnnnnn    nnnnnn
                                                                                                              
                                                                                                              
                                                                                                              
                


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



  _  __           _        _    _   
 | |/ /          | |      | |  | |  
 | ' / ___  _ __ | |_ __ _| | _| |_ 
 |  < / _ \| '_ \| __/ _` | |/ / __|
 | . \ (_) | | | | || (_| |   <| |_ 
 |_|\_\___/|_| |_|\__\__,_|_|\_\\__|
                                    
                                    


  ___         __  __          _   _   _ 
 | __|  ___  |  \/  |  __ _  (_) | | (_)
 | _|  |___| | |\/| | / _` | | | | |  _ 
 |___|       |_|  |_| \__,_| |_| |_| (_)                                        
                       _                 ____    _                   _                             _     _   
  _ __    __ _   _ _  | |  ___   _ _    / __ \  | |_    _  _   ___  | |__   _ _    ___   _ _      | |_  | |__
 | '  \  / _` | | '_| | | / _ \ | ' \  / / _` | | ' \  | || | / -_) | '_ \ | ' \  / -_) | '_|  _  |  _| | / /
 |_|_|_| \__,_| |_|   |_| \___/ |_||_| \ \__,_| |_||_|  \_,_| \___| |_.__/ |_||_| \___| |_|   (_)  \__| |_\_\
                                        \____/                                                               

   ___   ___    ___   _ 
  / __| | _ \  / __| (_)
 | (_ | |  _/ | (_ |  _ 
  \___| |_|    \___| (_)
                                 _                   _                             _     _       __                                          
 __ __ __ __ __ __ __ __ __     | |_    _  _   ___  | |__   _ _    ___   _ _      | |_  | |__   / /  __ _   _ __   __ _       __ _   ___  __ 
 \ V  V / \ V  V / \ V  V /  _  | ' \  | || | / -_) | '_ \ | ' \  / -_) | '_|  _  |  _| | / /  / /  / _` | | '_ \ / _` |  _  / _` | (_-< / _|
  \_/\_/   \_/\_/   \_/\_/  (_) |_||_|  \_,_| \___| |_.__/ |_||_| \___| |_|   (_)  \__| |_\_\ /_/   \__, | | .__/ \__, | (_) \__,_| /__/ \__|
                                                                                                    |___/  |_|    |___/                                                                  

  _____   _                                       _ 
 |_   _| | |_    _ _   ___   ___   _ __    __ _  (_)
   | |   | ' \  | '_| / -_) / -_) | '  \  / _` |  _ 
   |_|   |_||_| |_|   \___| \___| |_|_|_| \__,_| (_)
  ___   ___   ___   ___   ___   ___    ___  __   __
 | __| | __| | __| | _ \ / __| | __|  / __| \ \ / /
 | _|  | _|  | _|  |   / \__ \ | _|  | (__   \ V / 
 |_|   |_|   |___| |_|_\ |___/ |___|  \___|   |_|  
                        
                           
 __  __  __  __   ___   ___       __       _          _      _                  _ 
 \ \/ / |  \/  | | _ \ | _ \     / /    _ | |  __ _  | |__  | |__   ___   _ _  (_)
  >  <  | |\/| | |  _/ |  _/    / /    | || | / _` | | '_ \ | '_ \ / -_) | '_|  _ 
 /_/\_\ |_|  |_| |_|   |_|     /_/      \__/  \__,_| |_.__/ |_.__/ \___| |_|   (_)
                                                                                  
                       _                 ____      _                                               _        
  _ __    __ _   _ _  | |  ___   _ _    / __ \  __| |  ___   ___  _ __   ___   _ _   __ _       __| |  ___  
 | '  \  / _` | | '_| | | / _ \ | ' \  / / _` |/ _` | / -_) (_-< | '_ \ / _ \ | '_| / _` |  _  / _` | / -_)
 |_|_|_| \__,_| |_|   |_| \___/ |_||_| \ \__,_|\__,_| \___| /__/ | .__/ \___/ |_|   \__,_| (_) \__,_| \___|
                                        \____/                   |_|