`````` `         ``.,;::+++##+##++++'#'+'''';'::;;::,:,,.,`,,:+#######@@#@##+#+@############+####@#+#######'#++'++'++##+####++#+'++#+';;;';'+++++'+;;''+'',.:;'':::':;;;''+'';;;:;::;;;::.,...,::,,....,.``...`..``..,.``..`````````. ` ` ``` ```````````````````````  ` `        ` `````    `   `                                                                          ```````````````` ``````` `,'+#+##@@#@#@@@@@#@@#@@@@@@@@@@@@##@##@@###@####@@#@@@@###+####@@@@@@@@@#@######++@#+#+#@@######@@#@#@@#@##@##########'':,...`````                   ``  ``   `  ` `
``...`      `   ````,:''+++##++++++++++'+'';';;;;;;,:,,,,,::,:'#@########+@++###########+#######@#+#+#####++++''+'+++++##+#+##+''+#+'''''''+'+'++++'''''':.:;''::':,:;';''''';';;,:,;;::.,,``,,:,,......``...,``.`,,..``........````.`   ````.````````.`.```````````          ` ``````.`  ````                                                                             ````````````````````````` `.;+#######@@@##@@@@@#@@#@@@@#@#@@@#@@@#@@@##@@#@@@@@#@#######@@@@@@@@@@@##@##@##++#++##@#@@#####@@##@##@####@#######+++;::,..````                     ``` ` `` ` ` ` `        `
  .``` `         ``.,:;'#++#+##++++++'+'+''';';;;;::,,:,:.`.,:+####+#@#@##++#++#######+##++#+##@######++#+++++'++#######+@#+#+''+++'''';;++#+'+++'+';;:;;..'+';;;::;:'';'';;'';:,,:,,;,:,..`,,:,..`.``.`.,```....,.........`..```````` ``` ``.````   `````````` `````   ` ``````````````                                                          `                        ````````` `````` ``````````,;++######@@@#@@@@@@@@@@@@@@@#@#@@##@@@#####@@###@@@####@@#@##@@#@@@@@@@#@#####@#####++##@###@@##@#++########+##+###++';::,..`````                    ```  ```` ``   ``   `    `
```.. `           `.,:;++#++#+#+++++'++''''';;;;;;,;,:,,,,,.,;+####+##@####++####@++#####+#+######+#+#+##++++''+###+#####++#+''++'''';;++++++'+'';;::::;:,;';'';;;;;:''+''';'::,::.::,,.:...:;:,..`.``...,..`..,...`..,..,...`.``` ```````,..``   ` ```..````````````` .,``````` ` ```                                                            `              ``      `````````````````````` ``````.;++###@@@#@@@@@@@@@@@@@@@@#@@#@@@@#@#######@##@#@@@#@@##@##@######@@@@@@@@@@######++#+###@#@###@#@@##@@###@@#@######++;;;,...````                     ````````` ` ` `         `
``.`.``           ``,:''##+#####++#+++++'+''''':;;:::,,,::,,,'+###########+#+########+###+###@##+#+##+++++#++'++##+#####+#++''+++''''''+#'+++';';,,;,:,:,;'+;'';:;;'+''+'''';:;:.,:;;,:,..,,:;,:,.`......`....`,,.......,....`.  ``  `  ``..```  ````.````.`````` ````` ``  ` ` `` ````      ` `                                                       `          ` `      ````  ``` ````````````````.`:'####@@@@@#@@@@@#@@@@@@@@@@@@@@##@######+###+@@@@@@+@@#@#####@@#@@@@@@#@@#@###@###+###@#@@####@###@@@###@######+##++'';:,..````                         ` `` ``` `  `   `
``.`.`` `         `.,:;'#+##++++++#+'++++'''';;;;;:::::...,,:'###+#####@##++##@#######+#####@###+####++#++#++'+####+##+++#++;'+'''''''+++''+':::.,:::,:;;'';;;;:;:'''+''''''::::;';;;::,::,:;:.,,``.,..``.......``...`,....,.. .``  ``````````` `````.```.````````` ````  ``  `  `   ``       `        `                                                   `       `    `   ```  ```````````````````.`.:+#####@@@@@@@@@@@@@@@@@#@@@#@#@#@#@##++#####@@@@@@##@@@+####@#@#@@@@@@@@#@#####+########@######@#@###@###@###+####+++':,,...``  `                       ```` ```   ``
`..``.``         ``.,:'++##+##++##+++++''++''''';:::::,,,.,,:'#######@##+#+##@##########+######+#+#+++#+'++#'+######++++++#''+'''''''++++''':,,..:::,:';+';:;;';''+++'+'';:,,;,;'';::;:,:::;:,....,:,.....`....`,..,.......`....``` `.`.``` ``````````````````````.````     `  `    ``         ``       `                                                    `      ` `      `` ````````````````````.``:+##@@@@@#@@@@@##@@#@@#@@@@@@##'@##########@@@@#@@@@##@@#@#######@#@@@@@@@@@#@###@#######@@##@##@#@##@@@@####++++##++'';,:,.````` `                     ``````` ```
```...`           ``::'++##+##+##++++++'+''++'''';:;,:,:,.,,:+######@@###+++#@#######+#######+++###++#+++'++++#++##+++'+++++++'+;'';+++'''+:,,..::,:;;'++;;';;;+'+#++#'+;;:::::'';:;;;:::::::,..`.,,,..,`..``.,.,.....,..,......`````.```````  ````````````.```````````` `` `   `` `````        `                                                                `   `     `````` `  ``` `````````````.,+@@@@#@#@##@@@@@@@@@@@@@@@@###@###@+##@#@@@@@@@@@@@#@@##@@@+@##@@@@#+@@@@#@@#@########@@#@@####@@@@@#@####+#+';''+++'';:,..``                       `    `````````
```...`         ` ``,:;'+++#+###++++++#++'++''''';':;:,,,,:,;'##++####+#++###+###########+###++###+++#++++++#'#++++#+++++'+++';'';'+++++'':,.`,::::::;'+':'';;''+#++++'+:::::''';;:;;:,:::::,.,,......,.... ....,,,.,,:..:..``````````.```` `` ```````````.```````` `  `` `  `   ` `````      `   `                                                          ``           ` ````````  ````````````````,:'#@#@@@@@@@##@##@@#@@@@@##@@##@+@####@#@#@@@@@@@@#@@@@###@#######@#@@@@#@@@#@#######@@@@@###@###@##@######++++#++++'';::..```                           ```  `
```.```  `      ` ``.:''+++++####+++#++#+++'++'''';;;:::::,:;+#########+##+#######+#############++++++#+'++++###++++''+''''';''';';'++++'',,.,::;,:;;''';;'''''++++++';;:;;';'';::::::,:::;,,..,,.,.,,....`...,..,.,,,...,.....````.```` ``````````````.`````````````   `  ```` ``` ` ```      ```         `   `                         `                    ``    ````   ````````  `` `.````````````.,'#@#@@@@#@@##@@@@@@@@@@#@######@##@#@#@@@@@@@@@@@#@@@#@#@###@###@@@@@@@@@@#@###@#@#@#@@@@@####@@@#@@#@###+++++'++++''';,,.```                                  `
 `...`` `        ``.,:;++##++####+###+#++'+++''''''';;::::,:;+#+@##@#######@#@#@###@##@##@+####+++++#++#+#+##+##+#++'++++'+'':;'+''#+++'',.,;;::,::;''+';;;++'++#+#'':::''+''';;::;::::::;:..,,,...,.,,,.```,..,,.,,,,,,......`...,``.```````.`.```````` ``` .`````````` `` ` ` ``````` `      ````` `     ```                            `     `       `      ``    `   ` ```` ``` ```````````.``````.,'+@@@@@#@@#@#@@#@#@#@#####@##++#+@@@@#@@@@@@@@@@@@@@########@@@###@@@@@#@@@@#@#@##@#@@@@@##@###########+#+#+++###+++':,,..```                             `
``...```         ``.,:'++####+#+#+++###++++++++'''';';;;:;:,'+#@######+#######@#@##@#########+#+++++++++#++++###''+'+'++''+';;''''+#+'';:.`,;;;:,,;+'';'''';+'##++';:,:''''+;;::,,,,::::::,,,,,...,,,.,.```..,..,.....``....```.....``.``.`.`....``````    ` ``.````` ```````` `` ``````  ```` `` ````                  ```                 `               ` ``    ` `    `     `  ```..``....`````.`..'##@@@@@#@#@#+###@@####+###########@##@@@@@@@@@#@@@@#@@##@####@@@@@@@@@@@@@##@##@#@#@@#@@@#+###'#####+++#+##+###+++''::,.````
```...`      ` ````.,:''########+++#++++#++#+++'+'+''';;;;::'+#####@######@#######@#######+###+''++++++++++##@+#+'''+++''+''';;'''+++';::,.:;;:,:''+++''+++'++++''::,:';'''';,,,,::,;:,:::,:,,,,,,,,.......,,.`.,,....`......`.`.,.` ``.`.``..,.```````    ``` ```````````` ```` `  ``` ``.`````` ``  `   `  ``````` ```` ` ` `` ` ``` ```` ` `` ``         ` ` ``      ``` ` ``````````.`..```````````.:+@#@@@@#####@######@@##@#@#######@####@@#@@@@@@@@@@@@@@####@@@#@@@@@@@@@@@###@####@#@@@@@@#######++++##++++#+##+#+'';;,..`
``...```         ``.,,'++#+#+#+#+#######++++++++''+'+';':;:;;+#####@#@#######@#####@@######+##++'+'+#+###++###+'++''++++'+';'';''+'++';:.,:;;::::'+++'''''+++#+':,,,;:'';'';:,.,:::;;:::;,:::,,,:.....,.,,,,.,......,.`...`....,..`.`. ```.,,.,.```.``` ` ``  ```````` ` ``` ```` ``````..````   ` `   `   ```    ``` ``` ``  ```````````````` ``  ```  ` ```         ``` ` ``` ````````.```.```.```.`..:'#@@@@@@#########@#@#######@########@@#@@@#@#@@@@@@@#@#@@@@@@@@@@@@@@@@@@@@#@###@##@@@@#@#@@#+#+####+#++++++###+++'';:...``
``...```          `,,;;'++####+####+##+#+'+++++++'';'';;;;;:++######@########@###@#####+#####+''++++##+#++###+'''''+++#''+'';;++#''''';..,:;'::;''+''+''++++++':,,:::+';;:;;:,:,:,:;;::::::,:,,,:,..,.,..,:,``.,....`...`....`,..,..``````..,..``..```   ``  ...`.````` `````````````.`.`.``  `        `                            `` ```````````` `````` `   `       ` ``  ````.````.`````.``````.```.:+###@@@@@##+#############@#@@###@@#####@@@@@#@@@@#@@@@#@#@@@#@@@@@@@@@@@@@@#######@@@@@@@@@@######+###++++#######''';,,.```
`...`.``   ``  ````.,;''+#+#######+#@+++#++++++++''';;;',;;;'#+##########+###################+++'++##++#+####+;'''''#++''++;:;''++'';':,,:;'::;'++''+++'+'+''';:,:;:;'';::;:::,:,,:;:,::,,::,,,.,.,...,:,:,..,,,.`.`.`..``.`..,,,...``````..,.```.```    ````.. .````` ``` ``` .``.`..`````` `` ` `` `` `                            `   ``` ``.```.``````````  `````````````````.```````````````````...,+'#@#@@##@#+@#########@####@##@#@@@@@@@@@@@@@@@@@##@##@#@##@##@@@@@@@#@@@@@###@#@@@@@@@@@@@@####@+####+++++++#++#+''',,````
``....````  `  `  `.,;;+##+#######+##++##+#++++'++'';';;;;;;'######@############@############+'++'++++#+#####''+++'+#'';;'';:'+++;'';,,,,;';,:''+;'+++''+'';:;;;';;;;;;::::::;;,,;:;;:::,,.,.,,.,.,,.,,.,:...,,..`..`..``...,,,,,.,``.`` `..`....`.```    ```..`.```````` ````...``.`````````````````````                                    ``````.```.`````` `` `` ```````.`.....`.```````````.```..,.:'##@@@@@######+#######@####@#@######@@@@@@@@@@@@@@@@@@#@@#@@@@@@@@@@@@@@@@@#@##@#@@@@@@@@#@##########+++#++++#+#++';;:..```                                       `
 ..`...```       ```,:;+#####+'########+++++++++''''';;';:;;+#####@##########+##@@##+#####@#++'++++#++#######;;++'++'''';';;''++';;';:,,;;':;;''+''++++++;;:;::'':;';:':,:,:::,,,:::,,,:,.,..,.,..,.,..,;,..,.,..``..`..`,.,.........,````..`.````.`      ``.```````.`````````````````` `` `   `` ``` ` `  `    `  `                `     `       ` ````.`..```````````````.``..```````````````.`.`....,;+##@@@##@##########@###@############@@@#@@@@@@@@@@@@@#@@@###@#@@@@@@@@@@@@#@@#####@@@@@@@@@@@#####+###+###++++++++'':,,.```
``...```    `` ` ``.,:''+###@#####'#+#####+++'++++''+;';:;;;########+################+#####+'+'++++##+######+''+++++'';;;;;:''';;;'';,,,;+;;;'''';'+#''+;;;::;;'::;;::::,,,:,.,,;;,,,;;,..,.,.....,.,,,::,.,.,...``...,..,,..........,```....`````.`  ` ````..``.`.`.```  ```````````` ```````` `````` ``` ` ` ```                                 `` `````.`..```.`.```````.````````````````````.``.`.,:+@@@@#@@#@@@###+##########@####@####@#@@@@@@@@@@@@@#@#@#@@##@#@@#@@@@@@@@##@@@@@@###@@@@@@@##@######++###+++++#++';:;,..```
`...`.```    `  ``..,;''+#####+@#######++++++#++'''''''';;'++###@@##########+##########++###'++#++#+++###+#+'''+++#'''';';:;''';'''':.,:';';'+'''+++'+'+',,,:;;:,;'::::,,,,,..::;:,.:::,...,,..,,,,,:,::,.,:,..````...,.,``,..`.......``....```  `````` ```..`.``.```` ``   ```  ```.`  `.```````````````           `                           ``  ````````.........`.`.`` ` ``` `````` `````..`......,;'#@@@@#@###@#####@+########@@###@###@@@@@@@@@@@@@@@@@@#@##@@@@@@@@@@@@@@@@@@@@@###@@@@@@@#@###@@###########+++++++'':,,..``
.....,`.``  `    ``,,:'++#++#####+##+++##+#++++++++''';'';''#####################@#+#+#++##++++++++#+####+#++'++'+++'+;;';;'+;';''':..:'+;';''+';''+'';':..`:;:,,';,,,.::,;:,.:;:,,::,.,``....,,,,,,,:.,,:::.```.`...,.........````.``........``` `` `` ` `.......``` ```` ```````````````` ````  `   `   `` ``        `                 ` `        ` ` ` ```` ` ``````````` ` `  ```````````````......,:+##@#@@##@####+###@##@#@###@############@@@@@@@@@@@@@#+#@@#@##@@@@@@@@@@@@##@@##@##@@@@@@@@@####@###########+++++'';:,,.``                             `
..`,..`````  `` `..,:;'++#+###+#+##++#####+++##++++''';':+;'#@#########+####+#+####+++#+#++#+#;''#+########+';+#++'';'''';'';'';;;',,,:''':'+++;';''+++'.,,:;:,,;;::.,:::;,,,:;:,.,;:,,...` `.,.,.,......,.`....,`..,,,.,,..``...`.` ..,..`.`````     ````..`....`````..`   ``.`  ` , ``` `` ``  ``  ``````   ` `   ``    ` `         ` `  `           `  ` ` `  ` `````````     `````````````````.....,,+#@#@#@@@+###+###########@#+#######@@@@#@@@@@@@@@@@#@##@@@@@#@@@@@@@@@@@#@#@##@###@@@@@@@####@#@#@#+##+++##++++++'';:,.```                                     `
`.....````  `   ```.:;'++###+#+###++#######++++++'+++'''';'+####@##@###@##########+++##+##+''''+'#+''+####++''+++#''''''';''';';;;;,.,;''':'''';;';';';,.,,:;,.;;,.,,,;:;;,,:;:,.,:;,::...``.`:,,,.,.,..,............,.,.:..`.`.....`.,..`.```.```````````...````````````  ``` `````.```` `` ` ``   ```````` ` ```   ``     `               `  ` ``    ``  `  `` ``      ``` ``    `````` ````.``.......,'#@@@@###@@#######@@@##@###@###+#@#@##@@@@@@@@@@@@@@@#@@@@@@@@#@@@@@@@@@@@@@@##@#@@#@@@@@@#@##@##@#############++';;;,,```
`.....```````` ````,,;+++#+@'##@############+++++++'''';''++############@#+#+@###+#++#+++++'''+'##+++###+#+''+#++';;''''':;':;;;;':`.,;''::;'';':;+;:;:,,`:';,;;;:,:;:;;::.,,;;..:;:,,...``...:,,,.,,,,..,.,.``...,,,,,,..`.`....,....,,`..``.``````````````````  ``` `.` ``` ````````````` ` ```````````   ` `` `   `         `       ``              `  ````       `   `` `````  `` ````````.........,:'#@@#@#@@#############@#@@#@########@@@#@@@@@@@@@@@#@##@#@@@@@@@@@@@@@###@@@##@#@@##@@##@@@@######+#######++#++++';::,..``                               `
....,..`` ``  `` ...,;'++#++###+#+#####+###+#+++++'''''''''+####@#+######+'####@##++++++##++#+++##++#+#+++++'+#++'';;''';,;';';,:;,,,;';::,';'':;';;;',.,,''::';,,::::;;':,,:',..::,,..:...,:,:,.,.,,,,.....`.`.,,,,.....`....,.,.`....``.``..````    ``.`,````` ````````  ``` `  ```````` ``` ``` ``````````.``.`.`````````   ``             `  `   ` `  ```          ```  `````` ``````` `.```...,..,,:++#@@#@@@##@###@####@#####@#@##@##@@#@@@@@@@@@@@@@@@##@@@@@@@@@@@##@@@@@@@#####@#@#@@#@#@#@@@@##@####@######++++'';:,,..```                             `` ``  `
``..`,..```  ````...::;'+#######@####@+#+#+#+#++++++'''+''++#####@#+###'+#+#######+++++#+#++'++++###+###+++''+#+''':;;';:;;;';';;;,.,''';::;;:::'+'::',.:;';;:':,:';';:;::;:::.:,,,,.`,.`,,:::,.,,.,:,,`...`..`...,,,..,....`.,,.....```````.``` ```` `.````````````` ``` ````````  ``````````````..`..............`.``..````` `````  ` `  ` ` `   `    `` `  ` `   ```````  ` ````````````.```...,..,,.;+#@@@@##;@###@@####@#@@#####@@#@####@@#@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@#@@#@@@@@###@###@@@@@@#@#######@#@#+##+#++#';:,:,..```                             `` ` `
` .,,..``````````..,,;''#++######+######+#####+++++'++++'''++##@##+###@#@#######++++#+@###'++++++++#++#++'++'###+;';'';::;;':::;';:,,'';:,,:;;,:';:;':.,;';;;;:,,;;;':::,:;;;:::::,``,,.::::,,:,..,,:,....,.`.``..,,....,....,.,.,....,```..```  `````..`` .```.`.`````  ```    ` ```````.`.`.`..`...,.`````` `` `.````````.`` `````      `` ``          `   ` ``` ````` `  ````````````````.......,.,..:'#@@@@@#@@##@@###@@#@@@########@####@#@@@@@@@@@@@@@@@@#@#@@@@@@@@@#@@@@@@#@@@#@#@@####@@@@@@@#@#@##@######++##++'',:,,.```                                 `
```..``.` ` `````.`,:;'++#++###@+##########++++++'+++++''''++##@@#+#############+#+++####+#++#+######+#++++'+++++;;'':;:::;:;,:;;,..;;';,.,:;,,:;:;;':.,''::::,,;+'+:;:,;';;:;,::,.`.,.::;::,:,..::,,...`.`..`....,:,,..,.,..,,,....,,..`...``` `   ``.```````.` `````` ``    `````...`.````.`````.``````````     ` `    ` ```````````   ` ` `  `  `    `  `   ` ``` ````` ` ``` ```..``````..,.,.,....,:+@##@@#@@@#######@@@@#@###@#@@#@#@##@@#@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@##@##@##@@#@@@#@@@@@@@######+++##+#+++':::...```                                    `
``..,..`.````` ```.,:;;+##########+###+####+##+++++++'+'+'+++####+######+########++++#####++++#+#+##+#++++'++#+'';;;'':,;:;;::;';,..;'':.,:;:,:;::;':..:'',;::.,'++';:..;';::;:::..,,,:::::,..,,,.,,..`.,.```..`.,.:,,,.,..,.,,.``,,,,.......`` ````````.`. ``.``` ```` `` ``````.`....```````````` ` ``` `        `   `   `   ` ``.```````````` `   ``   `     ` ```````  ````````````.`....`,,....`...,+#@@@@@@#@#####@@##@#@@@@#@#####@#@#@#@#@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@#@######@#@##@###@@##@#@##@#####++####+'':;,,..```                            `
`.....`.``````````..:;'++######@##+####+##+#+++###+++''+'++++#@##########+####@##+#+###++++#++###+####+++++'##++;;';':::;:,::;:';,:,;';:.,;;:,;;,;++,.,';,:;;,.:'';;,..,;'::;:,;;..,;;:::;,`..,.,,,.`..,....`....,,,,,.,.,,,,,....`,,....,...```  ```````.`` `````````````  ``...`.```.```````````````  ``             `        `  `````.````````` ` ``      ` ``````  `` ` ``  ```````..........```....,'#@#@@##@@#####@@@#@#@@@##@@###@####@@#@@#@@@@@@@@@@#@@@@@@@@@@@@@@#@#@@#########@@#@@#@####@@@@#@#@#+########++';;:,,````
``..,...```````.``.,:;+++##########@#######+#++#++++++'+++++##@########+++######+++++#+++++##+#+#####+'+++''+#+'';';;',;:::::;;:,:,:;':,,;;;:,;;,;+;,,:';,;'::,;'';,.,,;':;:;::;,,:;;::;:,.`.,,,.,...........,,.,,.,,,,,..:,,,.,..,,`..,....`````````````.````..``````` `````.```````` .``````` ```` `  `` ` `  ```               `   `  ``.``````````       ````` ` ```` ``` ` ```````..,.``.`..``.....,'#@@@@@@@@+@@###@#@@#@@#@#@##@##@##@#@@@@@@@@@@@@@#@@#@@@@@@@@@@@@#@@@@@@##@#@@#@@####@###@#@@#@@##@####+#####++'';:,.```                               ```
`,..,...`````````..,:;'+#+######+#######++##++++#++++''+'++#++#####+##+++####@####+#+###++++++######++'+++''+++'';;;;;,:;:,:;;;:,;,:;;:,:;::,::.:'+;.:;;,:;'',:;'':..::;+'::,:::.,:';::::...,,..,,.....`....,,,,.,.,,,..,.,,...,.,..,......`   ```,.````..`````.`````` ```.,.````````` `` ` ```   ` `` ``` ````````     `       ```      ````````` ` ` ``     ``   ` ``````` `````````....` ``````.`....,'+@@@@@@@@@######@#@@@@#@@@@#@@@@@####@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@###@#######@@#@###@@@###+##++##+++++;;,,.```
.`..,,..`.`````.``.,:;'+#+#######+###########++++#++++#'''#######+############+##+++#+#++++#+##++####++'+''';;+';;;:':,;:,,:;;',:;::':,.,:',:;,:;++:,;;;,:'';;;;';..::''':,:,::,.,;';:,:,...,.,.,.,..,,,,..,:,,,,.,,:::,,,:.,.,.:..,..,.`````````.,.` ``..`. .```````````.`,`````````````````````  `````` ` ``  ```    ``   `  ```      ` `  ````..```````` ````   ```  `` `````````.`....` ``````.......:+@@@@@@@@@########@@@@@#@@##@#@#@#@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@####@@###@###@#@##@############++''::,``. `
.`.,,.`,`````````...:;'++####+###############+++#+++++++++++######@####++#+#@####+#######+#+###+#+#++++'';';:;'';::;;,:;:::::';,,::'':.,:;:,:,,,'+;::''::;;';:;;;:`,,;';;:..,,,,,,::,:,.,.,,,,,.....,..,......,,.:::,,::,,,,.,,,,,.,,......` ```..,.```.` ````````````.`..```````````   `` ```` `  `   ```````    `   `` ` ` `    `       `     ```````````````````` ` ```````````....```````.```.......,,+#@@@@@@@@####@@###@@@#@@#@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@##@@#@##@@###@@@##@#@@@@@########+++'';:,..``
.`.,,..`.`````.` ``.::'+#+####################+#++#++++++'++##@#######++#####+##++###+########+###+#++;+';:;;'';::;;;;;:::;;:':,:::'',.,;;:,::,;++:;';::::;';:';:,.,,;';:,,::,,,..;:,:,:,,:,`,.`.`..,,,`.......,,,,,.,,,,,.,,..,,,.,.,,.....``......`....`.`` ````````````.`````````````````` `  ` ``````````````  `` ` ``` ```` `          `  ```.`.`````````````` ``` ` `` ````.....```````.```....,..,;'#@@@@@@@@###@@#@##@@##@#@##@@#@#@@@@#@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@#@@#+#@@#@##@##@#@@@@@@@#@#@##########+++';;:.````                                    `
``..,.,,..``.``````.:;'+####################++##+#+++++++++#++@#######+#######+#####+##+++########+++'+'';::;'':,:'';,;:::';'':,;:;+'.,:;;:,,,:'''''';:,;:;;::;;:.,:;'':,,.,,:::::;:,:;;,.,,,,.....,,,.`....`,,:,,:,,,,,,,,.,,,..:,,,......``````...`.....``````..`.`````````.`````````````  ``` `` `````` ```  `````` ``````````   `          ``````````````` ``````` ````` ````..```` `.``````...``.,,,;#@#@@@#@@##@####@##@#@#@@##@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@@@##@#@@@@@@@#@#@@###@#@#####+#++';;:,..```
.......`..`` .``.`.,:;;++##################+##++###++++++'+##+#########+++####+#++##+##++###@###+#+'''+';,::'';:.:';:;::,:;:'::';:';:.,;;::,,.:''++:';:;::;:,;''::,:'''::,.,:;:;:::;:,:,`,.`....``....`...,,.:::,,,.,,,,,,,,,:..,,,,.,...`.`.......`....```````....``````````` ```````````   `````` ````.`````  ` ```` ```  ```` `    `    ` ``   ` ```` `````..`````````` ..```````````````.`````.`.....;#@@@@@@@@#@@@#@#@@#@@@@@#@##@@##@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@#@@#@@@@@@#@#@@@#######+###++';;,,.```
....,..... `.`````..,;;'+##+######+#+#+#########'++'++''++##########@@#+####+###+###++##+######+##+''+'';::;''',,,;';:::,;;;':,;;,';,.::;,,:,::'''+'::;;::;:,;';;::''+;;;:.:;';:::;:;;;,.....````...```.....::,,,,,,.,,,,,,,:,.:,,,...............``...`.`...`.````````````````.`` ```````` `` ```````````````````````` `````  `````  ` `   ``` `  ``  ````````````` `````````````````````..``````...,..,:#@@@@@@@@@#@#@@##@###@@@@@###@#@@#@#@#@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@#@@@@@#@@#@@@@@@@@##@#@@@###########+'+';:,,..```
`....,,.`.``````` .,,;;'+#########+###+###+#++##+##++++++'+++###########+#####+#####+##+######+###+'+''':::;'',,,,;;::;;,;;:;,:;:;';.,;:;.,;:;;+++''::;;:';:::;'';;'+:;:;;,:;::,;;;:;;:,.....` `..`.``..`.`..:::.,.,.,..,,,:...,,,,,,..`,.`...`.,,.....,`.` ``.```````.``` `````.```````````````  ``````````````````````````````````` ` `   ` `` ```` ````` ````````````````````````````` ```.`.`.,,....,:#@@@@@@#@@#####@@##@@@@@@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@#@@@@@@@@@@@@@#@@#@######++++'';;:,`.```
.`....,.```` `````..,;;+###########+##########+++#++#+''#+'++###+###@#++#@#####+###+##+#++#####+##'+''';:';'+',.:::;::;::;:;',::;;;,.:;:,,,,;;';;+';:;;;''';;;''':;';';;;::;:,,;;';::;,,.,,.```.``..`.,.`.`.,....,.,.,...,,,,,`,,,,,,.```.....`...`...,.``..``````````````````.````` ```.`` ```````.````..`````` `.`..``` `````` ```` ` `` ``  ```````` ` `  ````  `````````````````````` ``````..,.,...,;#@@@@@@#@@##@####@######@@#@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@+@@@@@@@#@#@#######++#++;;:,,`.``
` .,,``.`` `````````:;;+##+###+##@###########+####+++#'++'+++#######@#+#@#+#+#+#@#####+##+##@###++'+'+;;::;'+:,,,:':;,;,::;;:,:;'::,:;;:,,,;'''''''::,,;:;;;;';+;:'''';;::;::::::;,::::,::,.``,.,.....`......,,..,,...,,,,,:,.,,,,,.,...,,.....,..,....`..`.`.``..`````` ````.````````````.```````````````````````.```` `  `````.`` ` `````````````` ```````````````  `````````````````````..``..`..,...,;#@@@@@@@###@##@####@@###@#@@#@@@@#@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@##@##########'+++';,,...``
`.,,.,...```` ```...:;'++#@#########+##@##########+#'++'+++++@##+#@@##+###++#+#+##+###++######+++#+'+';::;'+',,,::::;;,,;;:;:,;;;;:,::;:;::;''';';':;::,:;':';;'::;';;;;;;:::,:;:;:;:,,,::```.,,.:,...``..,.,,,,,,:,,,,,.,,,:,::,,...,.,:.....,.........`..,..`.```` ````````.``` `  ``` ` ````  ```````.`.``````````````````````````` ``` ```` ` ```` `` `````````` ```` `````````````````...`.....`.`.,;#@@@@@@@@@#@@@####@##@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@#@@@#@@@#@@##@##++++';;,:,.```
`..,,,.,.`. ` ```..,,;''#+####@#####@#+#@+##++#++##+##++#++++####+##@##+#@+#+######++##++#####+##'+#+',,::;';,.,,:,,;;,:;;;;::;;::::;,:';::;';';'''::::;:;';;:'';:'';';;;;:,;,::,;;::::,,,``.,,:,:,..,`......,.,.,,,,,,.,,;,,::.,,,,.,.,,,....,...,....,...`````..`` `` ````.`  ` `` ```` `````  `````````````````   ` ````````````.```` `` `  `````````````````````````````` ````` `````````,..`...`..`.:+@@@@@@@@##@#@@###@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@#@#@@#####+++';::,..``
`..,,:.,.`````` `.`.,:''+#####+###@####++###+####+++#++#+++++####+######+#######++####+####@#+#+##+'':,::;'';..::;,:;:;:'';,;;:;';,,::;;:::;;':''';::;::;'';:;::;;'''+:;::;,:,::::;;::,,.`..:,,,:,,.,.`....``,...,,,,;:,,,,,:,,.,,..,,...,,,.,.,...,..,.:,`..``````.``.``..`.`` `.```````````` `````` ```  ```` ``  ``  `````````.``````.` ` ` ` ````````` ````````````` ````` `````` ````..`,.`..`......;#@@@@@@@@##@####@###@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@#@@@@@#@@@@@@#@#@@@@@##@#@####++''';:,..``
.``.,...```````````.,;''##@################+#++#+#++##+++'#+#####+#+#####+###@###++###+######+#'###+':,::'+',.,,::,'';:''':;;::'';::;:';;;;;':';;;;;;;:,;'';;:;;:;;''::,;:.,:,,:.;;;:,:,...,:,,,.,..,..`...,.,,```.,,:,::::,,:..:,:,...,.....,.,,..,..,,,,....`......````,.````````````````  `````````` `   ``  `    `  `````  ````` ` `````  ` `` ``````````````    ``````````````````````.`..`........,;#@@@@@@+#@#@@###@#@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@#@@####@#@##@#####+''';::,.```
`..,,..`.````` ```..,:'++#######+@+#@###+######+##++++#+'#+++#@@########'+#@#####+++++##@@#@###+++'+;:;,';'',.::;,.:';;'';;;;;'++;::,:;+';;;;:''+:;;;;:.:';::;:;;'';;;:,,,,:,::,,;;;;,..``,::,,...`..,...`.,:,,.``,..,,,::,:::,,:.::,.......,.,,,,...,,,.,,`.```````.``.....`````````````` `   `` ```````     ``     `    `  ```  ````` ```````` `` `` ```````````` `````` `.`` ````````````...`````.....;#@@@@#@##@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@##@@######++;;;:,,.``
``.,,...``` ` ```.`.,:'+######@######@##########++#+###+++++#####@#+#+#+++###+#######++#+####+#+++++;::;;'+'.,,::,:''''+';;';;''';:,:;'+;;;;';;';;;;;;:,;:;;;;,:;+';';:::,,,::,,:'';;:,``.,,:,:.`.`.,.`,....,,,.``..,,.,:,::,,,,,,,,.,.....,,.,.,,..,.,,,.,...`...`.``..,.,,````````.`.```    `````````` `` ```             `  ` ``  `  ```````` ``` `````.```.```` `````````````````````..`.`.`.`....`.,:#@@@@@@@@@@@#@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@######+++'';::,.````
`...,..````` `````.,:;'++#######################+#++###+++++##@##@###+##'######@###++#+#+####@#++++';::;;+#',,::,,:+''+';:;';''';:::,;'''::;';:;';';::,:;;'';;;''''';;:;:,:;,::::,;;;:....::,;,`.`...`.,.,..,,.....,..,,.,::,.,,:,,..`.,,,:,,,,....,,,..,:, `..```.`.`..,.`..``.````..``` ` ``   `````` ``    `      ` ` `   `     `` ``````````` ```````````..`````` `` ````.`````````..``..`..`.`.,,.,,:+@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@#@@@@###+++';;;,,.`` `
``..,...````````.`.,,';++##@##@######@###########+#+++##+++##########+++++##@@###++#####+########+';:';;;+':`,::,,;+;'+'::;;;;;;::,.,;';:;'+;,:;,;;;;,::;;;:::'''+;:;;:';:,:,:,,';;:::,..,,;::.`.....`.,,..,.,,.`.....,,,.,,,,;.,,,`..,,,:,,.,,..,..,::,:,,..`.````... `...``.`.``...`````` ```````..`````````` `    `    `   ` `` `  ````````````````````.```.```````.````...`````````.`.``..`...,..,,,.;'+@@@@@@@@@@#@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@###+#+++';;;,,.````
`....,...`. ``` ``.,:;'++#@########################+++#+##+++@#######+++''+##+@#####+####+##+###+++;'':;;+;,,::,,:;;;+';,;;,:'':,,:,,''':;';;::;:;;;;::;;;;;;:''+'':;;,:;::::::,'',:,.,,:,:;,,`.```.``..,..,,:,,.....,,,..,..,,:,:.....,,:,,,,`..,..,,,,:,,..`.``...,,...``````.`.``....````````````....`````````````.   `````` ````  `````.`````````.```.:``.```````````..``..`.````````......,...,,,:,.;'##@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#@####+++';;::..` `
`....,.```````````.,:;'++######@#####@#####+####+#+##+#+##++##########+#''++#######+####+#+#+####+';';,:'+;:.:::,;'''+'::;;:;';,,::,';;;;;';;::;:;'':,:;;';;::;'+++';;::;:;;:;:;';::,,.::;::,`..`....`....,,,.,:.,,.,.,:,...`.,...,,,.,.,,,,:,,.,,`.,,,,:::......`..,.`..``````.``.......``````````.....````.````````````````````````````````````````.```.`....```` ```````.`.````````.``...,.,,,:::,::,;:+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@##@######+';;::...``
........``` `   ``..:;'+#+#####@#@#@######@########@+#++###+#####@###+#+#+++#######+###+++#+#+####'';;::'':,::,:,';;+';,,:::;;::;:::;:;:::+;:::::;;'::';;;';,,;''++;;':::,;;,,;;;:::,:::':::,,..`...````.,:.,,.:,...,,,,,.`.`..,`.,,.,,,,,:,:,..,...,:,,,:,.,.`,`.,.,```.`.````.`...`.....`..`........`.``````.`.`........,,......````````````````.```.``.```...`````````.`.`.````````.`....,,,:,:;:::;:;;'#@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@#@@##@#####++';:,,,..``
``.,.,...````````..,:;'+##@#####@#@#######@###@##+###++#######@########++###++##@#+#+#+++#########';'';'+',,::;:;''''+::,;:,;:,,;;::;;;:;;';;;::;;';,,:'''';:::'+++;;;;::;';::;''::::;:;::,:,,....,...`....,,,:..,.`.,,,:.......,,,.,...,,:,,.....`,,,::,..,...,.,,,,.`````.``......`......`......,,,,...`.`..........,,,,,,::,,,....`,.`..`.``..``..```````....```.``.`````.``````.`...,,,.:,;;;:;:::::;''##@@@@@@@@#@##@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@###+###++';;:,,..``
.........```````.`..:;'+##########+###@#############+###+#+########@#++++#####+@##++++++++#######+;;:;:'+:,.:,;;''''';;,:;;:;,:;::,::':::'';;',::;;;,:';'''':;,;++':''+;:;;;:;;':,::;:::,:,,:.....,........,,,,...,....,,.,,......,.,:,..:::,`.,..,,,.,:,,:,....,:,,....``.```.......``.`.....,,...,.,,,,......,,,,.,,...,,,:;:,,,,,...:...`````.`...```````..````````````````.````......,::;:;;;''';';::'++#@@@@@@@@@@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+#++++'';::,..```
`..,,..`...```.....,:;'#+##@###@##################++####++#+#@#########+##+#@@###++++++'+##+++###'';;;;';:,,,:;''';;''::,;:;;::;;,:,:;';:'';;;::;;':.:;:;;'':;:;+++::'';;:';:;;'::::;:;::,,:,``...,.``,,`..,,...,:..,,.,,,.`,,..,,..,:..,,;:,.......,,:,::,,,...,::,...`.`..`...,........,,..,..,,......,...,,,,::,,,,,::,.,:::::,,,,,:;,.....`...`..````.``....``` ``````````````.....,.,:::;;;;'''+';;:;'++#@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########+++'';:,,,.```
`...,....`. ...``,.,:;'++######@#@##########+###+########+++######@####+##+@######+++#;'+#####@##'';:;+',,,,:,'';;:;''::;::;,:;:;;:,;;;;:'',::,:'';:.:;;;;;+;;;''+':;';;;;;'''';;:::;;;:,:::. ,,,,.``.,......:..,,...,,,,,....`.....,,..,,:,,,,:.`..,,::,,,,,.,,:,,,`....````..,..,.`.,,:,..,...,....,`.,,,:::::;;:::;;:;::,,,,:,,,:,,::;,,``...`...```````....``````.```.`.``.``..,...:,:::;:';;'+'''';';''+##@@@@@@@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@####+##+#'';::,,.```
`......,.`.``.``..,,,;'++###@##@######@#############+@##+##++########++++###@#####+'+++'+##++####+;';;'';,,,:;'';;:;;;,:::';:::;'',.;;::;';::,:;'';:,:;;;;;';;:;'++;;;;';';';;;';::;;;:::,:..,,,,..`.....`....,,,,...:,,..`..``..,,..,..,,:::,,,....,.:::,,:.,:,,,....`..``..,,.,,,..,,,:,.````,.,....,.,::::;;;;;;;;;;;::,,,:,:,:,:,,,:,:,,.`..,...``.`.``.....`````````...``.``.,,..::;;;;';:::;''++''';;'+###@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@###@####++++'''::,..```
.....,.,.,.`.``....,,;'+######@@@##@######@#############+#####@#######+#####@#@##+++#+#+########+'+;:;':;:,,:''';;;';:::;;;,,::;''::',:;;;;::;;;'';,.:;;';;';;;;'+++'';;;:;''';:;:;:;:;:,,,..,:,,`.....,,```...,::,`...,:,,,.`.,..,,.,,..,,;:,:,...`.,,::,.,,,::,.`.`....`.,,...`.....,,:..```...,,,,,::,:::;';;;;';;;;;;;;:,:.,,.,,,,:,,,,,,,,,,,...,..`..`....`````````...`.....,,,,;;;;;;:,:;:;;''+';''+'+#@@@@@@@@#@#@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@@####+####+'+';:,,..`````
``..,.,,.`..```.`.,::;'++#########@################+##########@#@#####++##+##@+##+'+####+#+##@#++';:'';;::,,;';;::;;::,:;,:.,::;';;:;:::;'';::;';';,,;;;';;;;';;'++'';:''::''';';;;;;:;,,,..,::,,..`..,.,..`....::,`..,,,,.,.`......:,:,..,,,:,.....`.,,,:.,::,:..,`..```.,,.,..,.,,,.,,,..``..,,,,,,::,:::;';;;';''''::::;;,,,,`,:,:,,:,,,,,,:,::.,...`..`....```````````......,,:::;;;;:;:,::;;'';'+';;''++#@##@@@@@@@#@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@#####++++';::,,...```
.`.,.....```.`....,,:;'+#################@##########++#+##########@###+####@###@++'+#########+#+++'';''':,,;;';;';;;,,:::,,,,::;;::::':;;':;:;:+:;::::;'';;+';;;;#'';':;';;'''';;::'+',,,..,:;,,,.,.......``...,,,,,...,:..,,.`..`...,,...,,,,.,..,,,,::,,.,,::,,....``..,.:,,.,.,,..,,,,....,.,.,..,,:,,,::;';;';;''::,,;:;;::,::,::,:,,,,,,:;:,,.,..`..`.`..```.``.`````.``.,.,,::;':::;:,,;:';''';'':;;+###@@@@@@@@@##@@@#@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@#######@##++'';::,...```
``...,,...`.`....,,,:''++#####@@##@################+##+###########@####++###@@@#@+++###++#+##@#+''++''+'::;'+;:;;;:;,,,;::,,::;;::;;;;''';:;;;;':'';:;';;;;'';''++';';;:;';''';:;;''';:::,.,:,,,::,,,``.`.```...,,:,.`.,,:,.......``.::..,.,.,,,,.,.,,::::,:;::,,,.,,.,.:.,,...,.,,,,,.,,..,.,.,,,,,:;,::;:;;';';';;';;;:::;;:,,::,,:,,,::::;:,;,.......``.`..````.```.```.`,....,:;;;:;:;,:::';;;;;';''''+##@@@###@@@@##@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@####+##++';;,,..``
.....,..``.```....,,:;++####@####+@####@@########+####+########@#@##+#######@##@'+'+#+####+#@+++'#+'''+';;'+;:,;:';:,:;:::;::;;;;;;;+':';;,;;::';;;:;:''';;;'';'''+'';;;';';+;:;;';'':::,,,::::::;;::.`..,..```,,,:,,.`,,:,.,,.....`,;,..,,..,,,.,.,:::,,,,,;:,,,,,,,.,,,.,.,,:...,,,..,:,,,,,:,,::,:;;;:;;:;;;;;;;';;';;:;:::,:,,::,:,::;,:,::,,..,,.```.`,``.`...````````...,,::;;;;.:::;;;:;;;;;;;'++##@@@@@@@@@@@@##@#@#@#@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@@@#@@#@#####++'+;:,.,.```
```.:,.`.,`...``..,.:''++#@#+#####@#####@####@#+########+#+##############+#@@#@+++;+##+######@#+#++''++';;'';:;':;;:,::':;:;;;,::;;;'''+;.::,,'':'':'';;;:;';;';'+''';'''';''';:;;+';:.:.:::,,,,,:,:::.`...`..`.,,,,,..,,:,,......`..:,,..,,,,,..,.,,,,,,.,,::,,,.,.,,:,,,,,,,...,.,...,::,,:::;;:;;';,;;:;:;';;;;;;;'';:;::,;:,:,:,:::,:;,,:,,:,,,...`...`,.```.``````````..,,::;::;:,:;:::;;;;;;;;++#@@@@@@@@@@@@@@@@@@@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#@@@#@#####++';:,,.```` `
``...,.,.````..``,:,:;'+######@#######@##@#@@#@##########@#############+##@#####+'+@+#++######+++#++++'+;;'',:;;;;:,;':::;;::,:;:,;+''';:,:,,:;;'';:;;;;';:;;'';+++'+';''';'';:;';';:,;,,:::,,,,,:;;::,,`,.````...,:,..`.:,,...,,`...,,,,.,.,...,,,,:;:,.,,::,,,::;:,.::,....,.....`....::,::;:::;::,::;;:;::;:;'':;+;;;;;:::;:::::,,,,:,,,:,,,,,..,,,..`.......`..````````..,,::::,:::,:;;''';';''###@@@@@@@@@@@@@@@@@####@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@@@@#@#####++'':::,..```` `
..,,,,:,..,.`.``,,.:;'++#######@##@#@###@####@#########+#+#####+@+#####@####@###++;+#####++###+++#'+'+#':;';:;:':;;:;;:::;::,::;:::++''';:;;,;'''+:;:;;;;:;;;'+'++''';;'+';'':,;';';;::,.,,::..,,;:;;;:,,,`,..,.,.,,.,,..,:,,..`,.,.`.:,.,.,..,,..,:,:::,:,::;:,,,,:,::,...`.,,.```.....,.,,,:;;:,:,,.::::;:::;:;;;;:;;;:;'''+''''''',,:.,,,,:,,...:,..```....``.``..`````..,.,;:,,,:';;;;;;';;:;+#####@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@@####++';:,,....``
`...,,.... .,`...,,,;''+#####@###@#@@#####@@###@########+########@@#@##@++#@@##++++#+###+#+###+#+#+#+'';;'';;:;;::::';::::,:,:::;;'+'';';:;;;;;'';':'';''';';';;'''+;;';'+;'+::'''';';,,..:;,,,,,,:,;::,,......,..,.,,.,,:,,,,.,..,..,.:,,,,,.,,,.,.;:,,,,:::;,:,::,,:,,,.....,,,..,.,,.....,,,,,:.:,...:;:;;;;;;;:;;:'''++#@#@######+';;,.:,:,,,,,....````...,...`..`````...,,,,::::;'''+'''''##@#@#++##@@@@#@#@+++#@@@@@@@#@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@#@@@#######++';::,....`
..,,,,,.,,..``...,,,;;++########@+####@#@#######+#+#####+#########@###@++@#@##+++'+###+######++++++'+''';;';:;';;,:';;,:;;::;;::;;'+''';';;;:;+''';:'';''';;;;;;'+'+';:''''+;;:'';';;:,:::,:,:,.,:,,.,,,.,..,..,.,,..,.:..,,,:,.,...`,,:,.,;,,,,..,,;::,,,:'::;,,,:,,,,:.,..,....,,,.,,...,,:,,,...,,,,::;;;';;;;;;:''+#@#@###@#@#######+;:,,,:,.,,:..``.`.,:,...`....```...,,,,::'';'''++'+'+#@#@#+++##########+';::+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@#@####@@#++';:,,,.`.``
.,.,,,,:.,.`....,,,:;;;+##@##@@@###@#@##@#@#########@@##@##@###@#@@@####+#+@@@#++'+#@########+++'''##'''';;;;;;'::;;::,:;;;;:;;,;;'''+'';';:';;''';;;'''++;';;;''++';;';;'';':;';'';:,:;,,,:,,::;,:,,:,:.,,.,`....,..,.,...,:,,,,..`..:,,.,:,,,..::,::,.,:;:;.:,.::,,,,,,,,,,,,:,,,,,,,,:,,,:,,:,,:,,,,;;;;;;;'';''+++#######@####@###+##++:..,:,,`.....`,.,,....`....`.....,,::::'+'+'+#+#++##@@+++++#++####@@##+;:,:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@#@@@##@######+';:,..```
..`,,.,,.,..,.`..,,:;''+#########@@###################@@@#########@##############+++###@###+#+'+#+#+;''';'';;'';:;';:::::;;;;,,:;:;';''';+;:::;+'+;;'+;''''';';:''+';;';'''',;;';';::,,,,:,:,::::,,,,,,,,,:..,...,,,,.`,,,,:::..,,..`..,,,,,::,..,.,:::,,::;::,:,,,,,,:::,:,::,::,,,.,:::,::,,.,,,::::,,'';;;';;'+++###+++######+#####+###@+;,,.,.,`.`....,,...`.............:,::;'++##+#####@+@@++++++++##########+;;;+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#########+';:,.``````
..,.,.,,..,`.,.`.,,:;'++###+@@@#@@##########@#@########@################+##@#@#++'++#@+####++''+##++''''';:''';';;;;:::;'';;,::::;;''+;';';;:;'++';;'''''''';;'''+'';:;;''';:;;'';':;::,::,:,::::::,:,,,,,,:,.:...,,,,`,,,,:,,,,.,....`,,,,:;:,.,,,::,,,:::,:,;:,,::,,::,:':;;:,,:,..,,,.:,:,,,:,;;:;;;;:;':';;'+#+#+''++##:+''';''++++##+#@+;,,,.......,..`..`,.`.........,,,::;'++#+#####@@@@#+++'+''+'''+#######+#'';'#@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######++++';,,.``````
...,,,,,,`...,...,:::;'#####@####@##@#@#@####@######@#@###+#####+#@##@##+##@@##+++;++#####+#+'++##+'+++';:';;++';;;':;;;';;::;::;;;;''';;;:;;;''++''''';++';'+'''''';';';';;;;;+;';;:;:.':::;;:::::,,:,,,:,,,,,,...,,,`.,,,,:;:,,,```.`.,,:;::,,,,,,:,,,:,::::,,,::,,,:;:::;:;.,:,.......,,.,,:,:;,:';',;;''''+####+':'#++'':;;:;:;;;;++###@##;:......`..````,.....``...``..,:;''#+#######@@@####+''''':,,:;'++#++##++++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@##@#@#####+++'::,....`` `
...,,:,,,.....,,.,,::;++#####@#@@########################@##########@@###+#@####++;+##++#+#+++++#+++++';;';;'''';;;:;:;';;;';':;;';;'''::;:;;;+'+;'+;'''''+'+;;'+#';;;';';':;;'+'+:;:;;::,:;:::,;::::,,,,:,,,.,,..,::....,,,,::,,,.....,,,:;::,,.,,,,,::;:,::,:::,,,:::;;;;;:::::,,,,,,,,.,,,,.::';;';:';;;''#+@##++++++';;::;:;;;;:';+''++#@@#;..,....`.....,...,..`````..,:;;++###+###@#@@+''++';;;;,.```:;++++'+##@++'+#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@#@@##++';;,:..`````
`.,,,,,,,,......,,,:;''+################@########@####@###@######@#########@#+###+++####@##++'##++++++';;;'''';;:;;;;;''::;';::;:;;'';;';'':''''+++''''''''++'''+++'';;;'''::;+'''::;';;,;;:;:::::,,,,,:,,,`,:.,,.,:,,,,..,,:,::,,,,````..:,:,....,,,,,:,:,;:,:::,,:;;;;;';;;:::::,,,,,.,,,,:::::';;:;:;;;;;##@@#+++#'';;;;;;;;;:;;;'';++'+##@@#:,,,.,......,.....``.````..:;''++#+++######;.,'';;:;,``   .,;'#+#++####++''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@###'+';,....````
.,..,,::........,,:,;''####@#@##@#@@##@#@###@#########++#+###@#####@#############''+###@#########+#+++';;;;'+;:''''';'';;:;';:;:;';;';;;''''''''++++;+''++'+''''''''',:;''':;';+;';;;'';,,:;:,::;::,,,,:,::,.,,,,,,`:,,..,..,,;,:,,.,..``::,::,,,,::,,,::::;:;:;::::;::;::;;;;::::::::,:,:,:;:;'''';;;;;:;'+#@@#''+#+'';;;::;;;;;;';'''';'''+#@@#.....``...........`..`...,:;++'++++++####:  .';;:,,.`    `:;+####+#++#+';'+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#@####++'';:,..```
..,,:,,,,:.,..,.,,,::'++########@@@####@#####@#######################@####+####+#++#+###@###+##@+#+#+'+'';''';';';;;';';:';;:;';:;;;;;;;'';'';;++++'''''+++'+''''''';::''';:;'+'++';''':::;;::::;;::,:,:.::,,,,,:::,:,.,,...,::::,,...``.,,;:,:,,::,:,,::::::;:,;:::::;';;'';:':,:,,:,,,::,:::;;;;;;:::::;+@@@',;++;:;::;::;:;;;;''''''''''''#@@@'.`...```..``.......`...,:;'''''+++#####'`  .;;,,..`     .,'+#++#++''+#+':'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@#@#####+++;;,,,.````
`.,,:::.,.,,,,,.,.,,:;'+###########@###@#@#@#@######################@#######+####+#+#######++@######++++'++';''''''';';;''';'';;;;;'';;;'+'''''+++'+;;+''+++''''''++':;''+';:'''++''''',,,:;::;;;:,;:,:;:::::,,:,:..,.,.,,...::,,,,,,,.`..,:,:,:.,,,,,:::,:,:::::.::::''::;';:,,:,::,,:,,;:;:;'':::;::,.:+@@#'.,;':::,::;;,:;;:;;;'''+'''''+;'+@@#,.`..............````..,;''''''+++#+##+`   ,;;,``````  `,;++#++##+''++++;;'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@######+';;,,...``` ``
..,,,,,,::,.,`,.,.::;;'#####@#@##@@##@@##@@@#######@#+##############@@+#######@+#'+#@##########@+@@++++'++#';''+'''';;;''';';'';;;;;;;'''+'#;''+#++';'';''+++;'+++++':;;++':';'+++'+'+:,,:::::;;;:::;:::,::,,,,,,,,..,,.......::,,:,..,,,..,,,,,,,:,,:;;::::;::::;:,:;';:;;;;:.,::,;;::::;:;'';:;:,:,,.,'#@#+..:;:;,:::;;;:,::;:;:;;;;''''++'''#@@'..``.```````.....```.,:;;;''+'+++##@#:   ,;;,`  `,..` .;;''+'+#+';;'++'::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@#######@##++';:,,,..` ``
`..,,:,,,,,.`,..,,:,:''+##@+@#@###@##@##@@###################+##@###@#++########+'+@#@###@#'######@###++##+#''+'+++''''++''+'';::';';;++''+'''++#;'';'+++''++'++''++';;;'+;';+''+'''';::,,:;:;::;:,::::;,;;,,,..,,,..,.,.``,..,::,:,..,,.:,,.,;,,,,,:;:;:::::;:;;,;;:;::::;::,.,.::;;;:::::;;;'';;:;:,,+#@@+..:::::;;;;;;:,:,::;;;:;;';'''+++''+#@#:.````..```.`......``.,;;';'+#++###@+.  .;',.   `::.` .:;;;''''##;;'++';:;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#####++';::,...`.` `
....:,,,,:,.,,,..,,,:'++##@#######@#@#@@@#####@######@#############@###+###@#####+#@+#########@@#######+##+++'++++++++#+''+'';;';;';'''+'''+'+++''+';;++'''+'';'+++#';'''+';;;++++'';;:::::;;:;:,,,:::::::;:,:.,,,,..,.,,......,,,,..,,.,:.,,::,,.:::;:::;:::::;;:';;:::,,,:,,,,:::::;:,::;;;;:;;;;;;''#@@#,.,;,:::::::::,,,:,:,::;:;;;';';+''+'+@@'.```````````........,;;'++++#+##@@@'.`.;;;.`    `,..`.:;::;+'#++';''++;,:+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@#@@@@#@##@##@#####'';::...`````
,.,,::,,,.,,,..,,,:;;;++######@@@####@####@@##@#######@#########@##@############+++#######+#####+######+##########+++##+'+'';';;'';';+'';'++++++''++''+++''''+'++''''';'++;';+++++#';;:::;';:;;::,:;:;;:::::::,,,,:.,.,.,.,......,:,.,,,,,:,,:::,,,::;:::::::::;;;';;::,,,,,::,:,:::;;:;:;:::::::,:,:;#@@#'.,:::::::::::,,,,,,:,::::;:'''''''+''+@@+.```.`.`...`....`..`,;'''++++++#@@+:.,;'':`      `..```,,::+'+##+::'+';,:;@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@####++''':,,..`.`
..,::,,.,,,.....,.,:''++#####@####@###@@@#@###@##############@####@##########@##+#+#####+######+++#++#++#+#########++#+++''+''''';;;++';''''''+++'+'+'++''+'+''+++'+';++'';''+##+++';';,;;';:;:::;:,,::;,:::,,,:,:,,..,:,...,`,,,,,,,,,,,,,,,,:,,:,::::::,,:::::;;',::,,,,:.,,,,;:::;:;,,::::::,,,,::+####;,:,:,:;;;:,,:,,,.,,.::,,;:;;'''++'++'++@#,````````````.....`.::'+++''+'+@@#':,;''':`       `,.  ,:::''###+;:;'';:,;@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@@@@@@@###@##@####++;;:,,...```
`...,,,,.,,.,,,,,,,:;'++###@##@@###@#@#@@#@@@@##@######+##########@###@#####@@###'+#####+++#+'+++'+''+;+#+############+++'++''''+';+'''''+:'++++';#++''+++++''''++++++''''';'+++++++;.':;'';::;:,::::,,;,:;::::,..,.,,,,...``.,,,,`,,..,:..,,:,,,:;::;:;,:,,::::::::,:,:,,:,,::::;;;:,,:::,:,,,:::,,;@#@#;::,,,,:;:::::,,,,,,,:,,::;;;'''''''#++'###'...````` ```.....`,:''+'++''+###;,,;'+#+:.        ..  .::'+'+##++''';':,:+@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@####+'''::...````
.,,..:,:,,,,..,,,:::;'++#####@#@@#@#@@##@@#@#@##############@#@###########+##@#@++#+@###++++''''';'';;;;'+++######@#####+++++++++''''+''++'+++#';'+++++'+++''+''+++++'#'+++'++##++#+::;'++;;;::;:;:;,:;;:::;:,:;.,,,,,,.`.,``.......,:.,,.,,:,,:,,::;::,:,:,,,::;:::,,,,::,,,;;;;;;;,,::;:;,:,:;:::;+#@#+;;:,,,,,::;;:::,,,,,,:,.::;;;'+''''++++++##',````````````.,..`,;'++;;'';#@#'..;++###';.`      ,,` `,;;'+##++++'+;';:,+@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@######+'+';:,,...```
.,..,:::,,,,,.,.,:,:;'++####@@@@#@#@#@#@####@@###########@#####@####@##@@##+###+##+##+++++'''+'';;':;';';;';''+##+####@@#+++'+++++++++++#''+##++'+'##++#+#++'++'++++++++++'++###++#+;;;'+';;,:;;;:::::;;:,;::,::,,,,,,,.`....``,.,,.,,.,..,:,:,,,:;;::::::,,:::,:,,,:,:,.::,:::;'':::::;::,::::;:;;+@@#+;';...,:,,,::;:;:,,,,,::::::;:;'''''+++@+#+#+:``````` ````.....,'''';''''+@+  :+'####+';,      ,'.``,''++##+''+++'+':;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@######+'';:,...````
,.,:,,:::,,.,,.:.::;;'++##@@#@#######@#@###@##@@#####@##############+@@####@####++#+#++'+'''';:;;';;;'':';:;;:;''+++#+#######+#++#+++####+##@#+++##+##++###+'++++++#+'++'+'++++++#++;;'''':;;;;;;;';,;;;,,:;:::,,,:,,,.,`.,......,.,.,,.,,,,:,,,::::;:,,,,:',.,;,,,.:::,,::;;::'';;;':;::::,:::,;:+##@+:;:,,,,,:,,::;;;:,:,,,,:;:;:::;;'''+'+++#####+;..`````````..,,,.,;;,,''''+##: `;+####+#+':`     ,;:`,:;++++#+;;''+;';;:+@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+'';;:,,.`````
.,,,,::::,,,.,,:.:,;;'+######@@@@##@#@#@@########+@@#########++#+#######@####@#####++++++''''+;;;;;;;';:;:;;;;::'::;+++#+#+##@#+###+######@@@@+#+#@###+###+#++#+##''#+###'''+#+###''+'++';;;';';;;;';:;::::::,:,,,:,:,.,,,,.,,,.,.,,.,..,,,:::,,:::::::,,:,.,,,,,.::::,,:,:;:'++';';:;;::,,::,,,:;+#@:`;':,,,,,,;,::::;:,,::,:;:;:;;;;;';''''##+####+'...``.`.`..,..,::,::,,'''+#@#. `'+###@##+';,     .;,,;''+''###';;;';';;:'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@##++'':;,,..`````
..:,,,:,,,,,,..::,::;''####@@@@@#@#@##@##@#@##############+#@@##++#+####@######+++##+++++'++'';;;;;;;::::;,:;:;:::::,;'++++#++++++#++#@####@@#+#############+##+++#++'+'#++'++##+++'''++';'''';:;;;;;;;;:,::,,::,,,:,,..,,,`.,,,.,:,,:...:,,,,,,,::,,,:;,::,,,::.:,,:,:::::;'++'';''',:,,,.:;:;+'+#@; `;+;';::::,::::;;::::::;;;::;;:;;';'+''+###@#+++:......`,,,,..,:;;;;:;'+####:  .'+#####++';:.    ,:;;'''',:##+;;;;';'';:+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@#@@@@#####++'';;,,.`````
...,::,::,,.,:,,,,:;';+####@#@#@@####@##@@##@@##@##@#####@####@##@###########@#+++#++#'#++++'+;;';::;;:;::::;;:;,;,,;::;''++''''';'+++'+@+####+#+#######@###+@#+#####+++#'++''++++++;''';+''+;':;;;;+;'';:,,,:,:::,,,.,.:,..`.,. ...,,.,,,,,,.:;,,,,:,,:,:,.,::::::,:;:;::'+++;+'';;;,.,.,;;'+###@@@  ,'''##+'+';';'';:;:;:':;'';;';';';';';'+#####++#:...`...,:,`  .:'+#';'++###+.  ,++#####++;'',``..:::'+'':,,###';+';;''';+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@##@@@##+++';;:,... ``
..,,:,::,,,,,:,,:,:;;''###@#@@#@@####@@###@@#@###@@#########@#@#@#########@@@##+++#++#+##+#++++'';;:;;;;';;;;:::::::,.;:'::;;;';,''+'''++'++##+++#+##+###@###@@##+@#######+++'++++#+''+''++'''';;::';';';::::,::::;:.,,..,.......,,,,,,,,,::,,:,::,,,,,,::,,::;:;:;::;;;;''+''''+'';:;.:;;'+###@#@#'`.''+++#+++++'+';:,::;;;::;;:;;;';;;+;'''+#######+;,.`:,`.,:`     :'':;++#@@#'`  :##@####++';':....::;'';:,.;#++''';''''';'#@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@#@####++';;,,...`` `
`.,,:::::,,,,.,:::::;''#+@##@#@@#@######@##@#####@@#@#+@#@#@##@#@######@@@######+#++#########++'''++;+;;';;;;;::;,:,,:,::,;:,:;;;''+;'';;'++++''''++##+###@######@+##@#@###@#+##++#+++';+'+#'';::::'+'';;::::,:;,...,,,,...``.`..,:,,,,.:,::,,,,::::,,,,..,,,;:::;;;:;;;''##+''''';;;:'++++##@##@@@:.++++++'++''++'#';';:;;;;'''';;'';;''''''++####+##',,:,    .      `;'';++##@#;  `++##@#+++';'':,...,:;''::,:'@#';'';;:;''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@#@@@@@@@@#@@@@##@##++'';:,,....```
,.,::,:,:,,:,,,,:::;;'++#######@##@@#@@@@@@@@##@#######+###############@#@@####'+++##+####+@@######+#+#'';;;;;::::,:,,:.,::,:,::';;;';;;;'''++''''''++++########+++#@#@######@########''+'+++'';;';'+'';';::::;,,,,,:,,,.`..`.,,..,,,,,,,,:;,,,:,,,::,:,,,,,::,,:;;,:;;;'+++''''++''+++###@#@##@@@#`,#':;;;;;'';''++'+;';;;;''''';;''''','''''#+###+++;,,:.           .;++';;+##+,``:+###@#+''';;'':,,,:;++;::.:###+;'';;''''+'##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@######'+';:,....`````
..,,::;::,..:.,:,:::;'###########@##@##@@@@#@@@@@@@@####@######@@##@#@@#@#@##'++++++++##@######@#@#@#@##+#'+'::;;,,,,,.:,,::::;:,;;:'';:;:';+';;';;'+'+'#++++##++'###########@#######+#+#+##+++''''+';;;;;;::,;,,,,....,..,.`.`..,,,,,:,`:,,,,:.,:,:,,:,,:,:::,::,;:;:;;'+++'''''#+######@#####@@#+:'+,.....,:;;;';'+''';;';;''';;;;''';'''+'+++#@##+':,::`     `    `:'+'+''+#@;` ,'##@###+#+';:++;;;;''+';:,,;@@@#;'''++''';';::;+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@#@@#@@#@###@##++';::,..`````
.,,:,::::,:,,,,,::,;;'+####@@@@#########@##@#@@#@#@@#####@#######@##@@@####@#+++'+++###++##@#+@######@#####+'+'';:::,,,,.,.,,.,::::,,;::;::;';;''''+''++++''++#++''+#####+####@#+####+##@####++###+++''+;+';;;::,::,,,,.`...`....:.,,:,,.:..,,,:,:,,,:::,::.::::::;::;;''+++++''++########@###@@@@+;#+:.` ```.,:;;'';;;;;;;:;+;';';'';;'''''''++###'+'::,,`     .,,.,:''+++''#@@;  .;###@#@##+'''++;;+#+#++':,.'#@#+;+'+##'';;,.   `;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@##++';::,.,.```
.,,,:,::::::,,,,::;;;''###@@@####@#@@##@@##@@##@#@##############@########@##+++'+#+++++#++##+#####@#@###@@####+'';:::,..:,,,,,:,:,::;;;,::;;''';;;''+;'+++++'++++'+'#+###+++##+#####+##@@@##++##########+++'++'';;;;::::..........,,,,,,,:.,.,,:,:.,,,:::::,::::::;:;++++++++'+#+#@##@@@#@#''##@#@'++';.```` `.,::;;;;;:;::;;;';;;;';;'''''''+++++++'''';..`   `:;:';;++'++++###:  ,+##@@@#@##++++',.'###+';:,,+@@+;'++###+'':.     ,+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@@###+'';:,,.``.```
.,,:,;,:,,,..,,,:;:'';#+###@#@#@##@##@#@@@##+#@#############@#@#@@@@@@#@##@#++'''++'+++++#+########@@#+@###@#@###+;':,,,,::.,,:,,:,,,:;:,,::'':;;''';;'++#'++++'''++#+++#''+++##+#+'++###+###++################+##++++'';:;:,,,,,.,.,,.,.,:,,,,,,.:,,,;::,,::,:::;;;''++++++#+++###@@#@@#@#,`;#@@#+#+:+:.``````,::;;';;;:;::;;';:::;;;'''+;;''+++++++##+':,::,::::;;;;;;;'''+#@#,`.;+#@@##@##@###+;..+###+'::::'##';;+#+#+'''':`    ,+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#+#+'';::,..````
,.,:::::,:,,:,::,::;''+++###@#@@##@@#@#@#@#@#@@##########@##@##@##@#@@#####+++'''''+'++++++#+###+#+##########@###+++;::,,,.:,,:,,,.,,,,,:,::';;;:;';''+'+'''+'++'+'++###+''+++##'+'''##+#+###+#++#######@######@########+#++'''';';;::,:,:,::::,:,,,,;;::,,:,::;::;''+'++++++#+#####@#@####; `#@##+#''+:,` ````.,;;:;;;;:,;:;:;:::::;:''';'';'';'+''+#+'+';;:,.....,.,:,,::::;##;`:'+##@#@#@@@@@##+::+####':,.,+@#':''+'#+++''',` `,+@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@##@@@@@@#@@@#@@######++';::,..``` `
..,:::::;,,,::;:::;;''++#######@@#@@##@@@@##@@####@##@##########@@@#@@@@#@#+''''++++''++'++++++++#++##++#+##+##@@###';:;,:,::,,:,,,,..,,,::::::;';;;''++++++''''++'#+++#+'++''+#++''++#++++#+#+'++'++'+#+++##+########@#@###########+++++'';;;';;::,::::,,;,:,:::;::;'''+##+++####@##@@@@##' `#@@++#'+';..`  ``.::;;;;;;::::,,::;,,::;;''''';';''+'+##+;''::.````..,.....:,,,,:';:;+##@@@#@@@@####@++##@#+'';:;#@@+'';''+#'++';:::'+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@@@@@#@##@@######+;::,...`````
..,,::,:::::,:::::;;;'+######@####@@##@#@#@#@@#@####@@@###@#@#@#@#@@@@@@###++''+'+'++'++++##++#+#++'#+'+'++++#+#@####'',,::,,:,,,,,,,.,,,,::,:;;::;;;+'++++++''+'+'+###++''+''#+'++'+++#'+#++++''''';'+'''';''++'++#+#######@#####@##@#########+++'';';;;;::::::::;;;;;'+#++#+#+#@#@@@@@@@@+`;@@@;'++#+;,`````..,::;;;;;;:,:,,:::..:::;';';'':;:'++'##';::::::,,,,,,.,.,.,.,,,,:;''+###@@@##@@#+#@@@@+@###+'''+#@@#+''+'++'+++';++#@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@######+'';:,...`````                                            `
,,:,:::::,,,,.::;;;;'++###@@@#######@##@@@@@@@@#@###@#@+##@##@@#@#@@@@@@##+#+''+'+'+'''+'++++##++++++'''+'''''+#+@@##++'';::,::,,,.,.....,:,,,:,:;;;;'''+++;''++'+++##+++'+++++'+'+;'++#++#+++++;+;;''';'':;;';;':;;''';'+++#######@@#@#####@############++#+''';:;'';'+++++'+####@#@@@@#@##;+@@#++++#+;,.` ``..,,::.:;::;,,:,:;::::,::;;;';';:;'+++#@';;';;;:,,:,,:.,.,:,.....,,;++##@@@@##@##+##@##+#####';:'@@##++++'+''+'''+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#@@@@#@@@###++';:,.,.`````
...,,::::::,,:,,,;:;;'++####@#@###@###@@##@#@@#@##@#@#####@@##@##@##@@@@##+++;;+'+'';'++++#+#+##++'+''''';;;''+'##@@###++;':,,::::,.....,,,,::::;;;''''+++++++'+'++++#+++'''+++'++''''##'''+'''''';'';';;;';;;::;::,:,:::,,:;;';'+++#############@##@##############++#+++#++'+;+#@##@##@@#@####@####+++',.`````.,,,.`.,.,;,.`.:;::::,,:;;;';;;;:'''#@@+'';;:::,,,,.,,......,...,,:'#####@@####+##@@#++####+;..'#@##+';';';'++'+@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@##@@@@@#@@@@#@######++'';;:...`````
,,,:,:::;:::,,:::::;+'+######@@@@@#@@#@####@#@####@@#@###@##@##@@@@##@@@#+';'''+'+'+''+'+++#+##++++''+'';;;'''''++######+++;::::,,,....,,,.,,:::,;;;''''+'++'+''++'+##++'''''++'+''';++#'''''';'';''''';;::;:::;:::;::.:,..::::,:;;;;;'+'+++++###@###@#@####@@#@@@#########@#+###+######+'#;.;++,`,++++:,.`````..:,,`.,..,,``.:;;;,,::,::;';;:;;;;++##+'';:;:::,.,,....`.`......,,;+##@@@####+'+#@#+'+#@#':,..'@##+'+''+'''+'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@##@@@@#@#@@@#@@@@@@#@##++';::,...````
.,.:;:::::::,,::;::;'++##@@@#@@@@#@@#@@@@@@@@#@###@###@#@#@#@##@###@@@@@#++;''''''''''+''++++####'++'''''':;;;;'+++##@@##+';;;;,:,,..,..,,,,,,,:,:;;';'''++'+++'++'++##'+++'+'+''#'';'+#'''''''''';;;;;;;;;:;::,::::,,:,,.`.,:;:,::,:;;;;::::;;'++#####@###@@##@#@@#@#####@##'@####++''.  `    .   '++':,.``````,,::.,:,,::,,..';:,,,,::,';';;;;':'+##+;':::,,:,,..`.`.```.,....,.,'##@@##+#+;'####+'####;...:#@###+'''+++++';'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@#@@@#@@@@#@#++'';;:,...````                                           `
,.,,,::::,:::,;;::;'''++##@@#@@####@@##@@@@@@##@@##@##@#@#####@#@##@@@@@#+'';;'''''''''''++##+##+'+''''';;:;,:;'''++####@#++'';;,::.,...:.,,,::,::;;'+''+'+++#+'++#'+#+'+''+''+''++'''++'''''''''';;;::;;;;;;;:::;:,:::,.......,:,.,,;:::::::;;';';:;;;;''+####@#@@@@#@@@@@#@@#@#@##+;:        `   +#'',..`````.,;:::::,:,:::,:;;:,..,,:::;;'''+++'+##+';;;;:,,:,...`.`......,.`..,:;+#@#+'';;'#####++#+',.`.;####+++;;+'+'+''+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@#@@@@#@##@@##@##+';;::,....``
,:,,::::::::::,;:::;;'++###@#@@@#@##@@@@@@#@@###@#@###@@####@@@##@#@@#@@#++;;+';''';''+++####+#+++++;'';;;::,,:,:;;+##@@@##++''::,,,,...:,:,,:,::::''++'+++###+++++'+#+++'++';'+'''+'+#+''';'+;''';;;:;:;;:::;:;:,:,,:,:,..,......,,:,,:,,;,,;;;':';:,,,,,:::;;''+##@#@#@#@@##@@@#@#+':`       `  `+#+,,.```````,,,,,.,:,;::;:,;::.:,:,::,;;;''++++###+;;;;:'::,..``` ...`.,.,....,,:'###+:;;:++###++'':;,`..'@#+++';::''++':;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@##@@@##@@@@@#@##++'';::,.`..``                                          `
..,,:;::,::,:;;::;;';'++#@###@#@@#@###@##@@@#@######@@@##@@@@@@#@@@#@@@@#+;::';''''++'+'+########+++;'':';:::..,,:'++###@@##+'''::::,:,.,;,,,,,,;,;''''+++++++'''#+++''+''''+'+'++''+++'';;'';;+'';::;;;;;;:;::,::,,::.:,,,,...,...,.,,,,::::;;';;;::,`,::.,::,.:;;;'++###@#@@@@@@@#@@+'   `   :;,'#';:.``````..,,,,,.,:::,:,,,;;;:::::,:,:;;''++#++#+';';;;;::,....`.,`.,,,.,.....,.:'+';:;':+####++';:,,,.,+##++'':,:'+'+;:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@#@@@@@@####+@#@#@#####++'';:,....``
,.:,;,:;:,:,:,,:;;;;''+#####@@@@###@@#@@@@##@@@@@####@####@#@@##@@@@#@@@#+':;'''''''';+++++######++'';:;:;:.,...,,'''+##@@@@+'''':;:::,,:,:,,::::,:;'++++'##++''#''''+++'''+';;'''''+++'':''';';';;:;;:;:;::,:,;,,:::,,,,......`,......,,,,:;;;;:::;;:,:,,;:;,::;;::::+++++####@###@@@##+:'#+''';;'++:.````.`.,,,,..,,,,::,:::::;';::::,;,:::;''+####+';';;;:;:,,..,..,,.,,,,,......,::''',;;,;+##''';;;.`.`:##+''';;,;;''';;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#@@@@@@@@#@@#@@####+''::,,..``                                           `
.,.:::::::;::;,:;;;;;'++####@@@@@@##@##@#@#@@@@@#@#@#@##+#@###@@@@@@@@@@#';:;;''';;'''+'+######+++';';;;;:;,,:.,.:''++###@@@#'';;::::,,,,,::,,,:,,;;''+++++##++#+'+''''''+'''+''+';'+++';;;;;;;;'';;;;;;::;,:,,;:;:,::,,.`..,,,.,.`....,,,,;:,:;,;;:,:::::::::;::,,,:;'''+#+++++;;'++#++#'+#####++';:,.````,,,,,,.,:,,,:,;,:::,::,:::,,:,::::;''#'+##'';;;;::;;,,:,.....,,,.,,..,,.,,,:;'';;;;;++#';'':,....;##+''';:,;;;;;';#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@###@#######+'''::,..````                                   `       `
.,::,:::::::;,:;:;;;;+++@##@##@@####@@@@@#@@@#@#@@@#@@@@@@#@####@@@#@@@##';;;'''+;;;''+++###+#++''';;';;';::,:,:,::''++#@@@##+'';;:,:;,..::,;:,,,:;;''++++##++#++'++''++'++''+''''''++;'::;;';;;;';:;';;;';;:::::;:,,,,....,.,....``.`.,:,..,::,;:::,,,::::::;:',::::;''+'#+##++';;;;'++''++#@@##+;,...,`,,,,:,:,,;;,,,;;,:,;:,,,,;:::,,:,:::;:'+####''';;;:;:,,,:,,...,,:,,..,,,,,,,,,:':;::,:;++''';:,...,'##+'';,,::':;;;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#@@@@#@@#@@@@@########++';:,,,...`   `                                        `
,,.:::::::::,,;::;;';+++#####@######@###@###@#@@@#@#@##@##@#######@#@@@@#+::;;+';';'';''######+++';+';';';;:::;:::;'+'###@@@#+++':::,,,.:,,::::;;:;;';++#+##++'++'';''+'+''+'''+';'''''';;;'''::;;;;;';;;;;;,:,,,:,,:,:,,,.,,..........`....,,:.,::,::::;:;::;,;::;;::''''++#+++'':;''''';;;+#@@+#;,..,,,,.,:,::::::::,,,;,:;;::,::::,:::;,:::;'+#+#+'';;:;;;;:,,:,,,,,,,,..,.,,:,.,:..,:;:,.:;;'+'';;:,..`:+##+;,,.`,;';';;+@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@@@@##@@@####@####+''',,....```                                         `
,,,,;:;;:,:::,:;::;;'++#####@@#@##@#@@@@@#@@@@#@####@###@#+##@##@@@@@#@##+':;'+;';';'''++####+#++#'+':';:;::;,;::';'';'+##@@@#+;;::::,::::.::::,,:::'''+++++++'++'''''++''';'++'+'''+;'';;,''';;;:::,;;:;:;:;::,,,,:,,,...:,,.,`..`...,,,....,,....,.:.,,,:,:,;:;:;;;;;;''+##+###++''++;;,,,'@#@+';,:,:,:;:,,:;''';;;:,::;::::;:,,,,:;;,:,:,:;;'++##+;;;;;;;';:::;,.,::;,.`...,:,.,....,:;::,,;:''''':,....;#+#;:.   .;'';;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@#@@#@###@@#######+#++';::,..`` `
..,::::;::,;,;,:;::;''+###@#@##@#@@#@#@@#@@@@##@@##@#@#######@@@@@@#@@@@+;;::;'';';;;'++######+#++'';;';;::::;;:';'+'+'++#@#@#+':;;::,,:::,:::::::;;;++++#+#+++#++'+'''++';:''+''''';'';;;;;;::;;;;;;:;;::;:::;:,,.,:,:.,.,,,,..``.......,,,..,.,....,,,,,,,::,,::::;;;;:'+++++##++++#+++::,;@@#++::,,,:;';:,:;';;;:;:::::;::::::,,,,:;:;,,:,:;'++##':;;:';;:::::;:,,:,,,,.,,,,,.......,,;;,,:::'''';:::..,'#++:.    `:;;;:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@##@#@@@@@##@@#@#@########+';;,,,..`` `                                       ` `
,,:::::::;:::::;;:;;'++###@@@@@@@@#@#@@@@##@@#@@#@@#@###@##@##@@@####@@##;:::;;;';:;;''+++#@###+++'''':::;::::;:''';''+'++##@#+';;:::::::::':,,;;:;;''++++'++'''+++''+;#+;';'''''+;'+''';'';:+;;;:;::;;:::::::::,,:,,,,,.,,.,...`,..``..,........`.`.`.....,,,,,,,;:;,;;;;'++++'++++####++;,'@@@#+;,,,,::;';:;;;:;::;,::,:::,:::,::,::;::::,:;''++++';:;:''';:;,:::,:::,:,,:,,.,.....,,,,,::,,,.:''';;';:,;++++,``    ,;;;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@@#@@##@@#@#@@##@@@@@#+++;;::,,..`` `
.,::::::::,,,:::;:;;'++######@@@@@@@@@@#@@@@##@@@######@#@########@@##@@#+:,:';'';;:+'+'++####'++++;;':;:;;:;;;;''''''#'+''+@@++::;:,,::::::::,;::;;;''++++++++'+++'''+++'';'''''';;;;;;;;;;:;:;;;;;;;,::;:;,::::,:,,,.,.,,,,...`..`.``...,.....`..`....`.`..,.,.:,,::;::;;'++++++++'###+'',+##@##':,:;;''';;;:;,,,:,,:,,::,,,::,:;::'::;::,::'+++++;;:;;;;;:,:::,,,,:::::,:,,.,....`.,,,,::,.`,;';'';''':'#++:.     .::;;'@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@####@@@@#@##@##@#@###++'';;::,,.``                                     `
..,,,::;::;::,:::::''++####@@@@#@@##@@@@#@@@@@#@@@@#@@#@@@#####@####@@###';::;'';;;;;'+++#####++++''';;';;::;;;+;+'++#+';;;+#@++;;',:,:::;;::,:::,:;''++#+#+++#+''';;''++';';+''''''';';;;';:'':;;'::;:::;;;::::::,,,,.:,,:,,...,...`.....,....,,...`.````.``.`,.,:::;::::;''''''+'''+#++';;+@@#@++':'+'';;;;:,,,:::,:,,,,,::,::,::;;:;;::::,;+'+++';;:::;:;:::,::::::,,,;:,.,...,.,.,.,,,:,,``.'''+''++':'++;:`     ,:;;++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@#@@#@##@@@#@@@@#@##@@@####++++'';,,,.```
..,,:,:::::.::,;:::''++###@#@@@@@@#@@#@@@@@@###@@@#####@#+######@@@#@@@@+';,:';':';;;''++#####+'''''::::::::;':;;;';'''';::+#@#'';::;::,:;;:::,;,:;;''+'+#++++++'''+;'+'++'+''''''''''+'''';'::;;''':;,:;;;::::::,,,,.,,.,,,,....,....`.....,..,,.,,..``````.`..,,,,:::,;:;;;'+'+'';''+++';:'@@###'';;;';;,:,:,,,,,,,,,,,::::,::::;;;;:;:::;;;'++++;:::;:;::;:;;:;:::..,:;,.``..`.`....,.,,,.``,;+#+++;:,,;++;,      .,:'#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@#@#@##@#@#@#@##@#@####+++';;;::..````                                     `
,.,,;:::;:::::::;;:''++###@@#@@@@@@#@#@#@#@@@@#@@@######+@##@@@#@###@@@@@';::;''';::'+++++####+++;';;;::,,;:::::,;::::;:,:'+@##';;:::;:';:;;;:,:,:;'''+'++#+++++#+++''+'++';++'+';+'''';''';;;';;;''':;::;:;,,:;:::.,,.:.............,,.,...,...,,,,.....``.``...:,,:,:.,::':''''+';;;++++;:;#@@@#''::;;:::,,:,.:.,.,.,,,,,::::,,:;;;:::;::::;+''#+;;:;::;;;;;:;;::;,::::;,..```...,,....,,.` `:'+'';;,...:+';:` `````:;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@####@#@@####++'+;;,,..```                                          `
.,,,:::::;,::::;;;;;'++###@@@@#@@@@@@@###@#@@#@#@##@##########@##@@##@@@#'',;:''',;;''''#######++''';;:,::;,;:::::,::::::;+#@@#';;;;;;;;:;;;:;::;:;''++++#++'#++++''+'+'''''++''''+'+'''''';';;;;;'';;::;;:::::::,::.,,,,....,......,,..,..,,.,,`,.,..`..,.`....,,,,,,,,.,,:::;;''';';''+'';:#@@##'::,:;::,,,,,..,.,,.:,,.,,:,:.,::;:,::::;;;'''+++:;;::::;::::;,,:,::::;,.,..```.,:,,.,.,,,.`.;'':;::,..:;;':.``,,`  ,;+@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#@@@@@@@@###@@@#@####+++'';::,,.```                                       ````
..,::;;:;;:,,;;::;;;'+++##@#@@@@@##@@@@@@@#@@@@#@@#@@@@####@####@##@@#@@@+';:;;'';;;'+'#++#####+'+';:;,,;,:::;::;::::::;'+#@@@@+';;;:;'';;';;;::,;;;''+++++##+++#+++'+;'''''''''''''';'''';':;;;:;;';;;;,:::,:::;,:,,,,.,....,:,,..,......,...,:,.,...`..```...,..,.`,,,,,::,,;,:;;;+;';';;;:##@##+:,,.,..,....,,,,,::,:,:,,,,,,::;;;;:::::;''+'+#';;:;:::::,;:::,,:;::::,,.,.`...,:,.,....,,`,'+:,,;:,.,:'';.  `.`  `,'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@##@#@####@####+''::::,..```
.,,,::;;:;::::;::;;''++#@#@@@@@#@@@#@@@@#@@@@@@#@@@##@###@##@#@#@@@#@@@@##':::+;;;:;'''++##@###+''';:;::,,,,::;::;;;;;;'+###@@@#+';';':'''';;:;:';''''++##+++++'++++''''''''''+'+''''''+''';:;;';;;;;;::;::,;;:,;;:.,.....:,`.....,,....,...,.,,.,,,....`..``..,,.,..,,..:,:,::,,:;;'''';:,.:+@#@#',..........,.,.,,,,.,:,:,.,,:::;;;:;,::;''++'++'':::,:,::,,::::::::::,,:,,,`.`,,....,..,,..:'+;:,::,.:;'',`  ``   .:+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@+@######+'';;,:,..```                              `    `    ``
.,:::;;:;,:,::::;';;'++###@@@#@##@@@@@@@@@@@@@@#@@#@@'##@###@@##@@#@#@#@@#+;:;'';;:';'+'++####+++'';;:::,:,::;:;;;''''++#@#@@@@#++'::';;;'''';;;:;;+++++##+++++++++'++'+'+'+++'+''';''''+';',;;;:;::;;;;;:::,::,,:,:...,,.,.......:,.........,,,....``...`,....,,:.,,.,..,,::,.,,,:;;+'';;,,,'##@@+,`....`.....,,,,::,:,,:,:,:,:::;;;:;,,:;''+++@':;:,;:,,,,,,::::,;:::;::::,.```.,.....,,..,,;'';:,,..,:'+',       `:+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+###++';;,:,,..``                                          `
.,.,:::;::;:;:::;';''++#@##@#@@@@@@@##@@@@@@@#@@@@#######@###@#@###@@#@@@#+','''+';;'''+++##@##+''';':::::,,::;;;''++++++#@@@@@@#'+'';;'';'''''''''++++++##++++++#+''+''+++'+++''''''''''';;:;;':;;;:';;:;:::::::,,,,..,,,,.,...,.`.`.`...,.,..,.,..`.......,.,.:,...,,,.,.,:,,..,.:,:''';:,,:#@@@#:.`.`.......,.,.,,,::,:;,..,:;;:;;:,:::;;+###+':;,:::,,,,,::,::::::::;:,:,.`...,.,,,,:,,.,,;';::,.  `:;'':`  ````,;#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#######+++';:;,,..````                              `       `` ```
,,,,:;:::;:::::;;';+'+##@#@@@@@@@@@@@@#@@#@@#@#@@##@#@@##@#@#@@#@##@@@@@@@#';:;'+;;;;''+++#@#+#+''';;::,,,:,,:;;'++##++'+##@@@@@#'+'+;'';+'++';';'''+'++++++++++'#++''+++++++++'+''''++''';;;;'';;,;';;;:;:;:::,:;::,.,,:,,,,,....,.........``,.....``..,``..,,.,..,::,..,`......,,.::;';'::,:+###@;,..`...,...,,,,.,:::,::,,,,:::::::::;;''+###+::::,:,:::,,,,::;:;';;;:::,,.`...,.,,,,,...,,:''::.`  .:';::.  `,,,:+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####+##+'';:::,..```                               `   ``` ` `  `
,,,::;::::::,,;:::';+++#@#@@@##@#@@@@@@@@@@@#@@@#@@###@@@#@@##@@#@@@@#@@@@#+;::''+;;'+''+######+'';;,::,:,,,::;'+++#@+'''+##@@@@@#++'''+++++++';';'++#++##++###'+++++''+++'+'+++'''''''''';;;';;::;'::;:;;:;:::;;:;:.:,.,........,.:...``.....,,,,......``...,:,...,::,...,...,..,,::::;;;:;::;#####,.....,,.,:::,::,,:,::,,,.::,:,:;;::;''+###+':.;:,:,,:,,,,:::;;;;;';;::,,,.,....,,,,,,..,,:;'::,`  ,;;;:,`  ,::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@###@####+++':,,,.`.``` ` `                               ` ``  ` ``
.,:::;::::.::;;:;;';'#+##@##@@@@@@@@@@@@@@@@@##@@@##@@##@#@@#@#@@@##@@@@@@#+'::;+;;;;+'+######+''+;:,::::,;::::;'+##+',:;+##@@@@@#++'''+++#+++';;'+'++++++#+++'+''+++'+'+'++'''+''+'';;;;':;'';';::;;;:;:;::::,,:,;:,,.,.,,,..,,,..,.,.`..,.,.,,,:,.........,:,,,..,,,...,,......,.,:,:;'::;.,;+####:.`..,,,::,:,,,,:,::::,:,,::::,,;:;;;''+###'':,,:,,:,..,,:::::::;';;;:;:,:,.,..,....,,,,,,,:';;,`  .:;;':.`.::;+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@####++++';:,:...``````                                    `   `
.,,:::;::::;;;;:::;;'++##@#@@@@@@@@@@@@@@@@@@@@#@##@@#####@@@###@#@@#@@#@@@#'::'++;';'++###@##+++;:;::;:;:::;:;''++++'::;'+##@@@@++++;'++++#+#''+''+++###++++'+++''+++'++';'+''++'+''++;''';';';;:;:;;;:;;;:,:;,:::,,,,,,,..,..,.,..`...`.,,:.:,.:,,...``..,,,,,,,.,,....,....`.`...:::;;;:::,,++#@#'..,,,::,,,,,:,::,,:,.,,,:::,.,,,':';+'+##+'::,::::.,.,,,::;'::;;;;;;';,:,,...,,..,,.,,,.,::;';.   ,:;'';:,;;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@####+++'':,,,..`````                                 `  `   `   `
,,,:,;::;;:;;;;;:;;''++##@@#@#@@@@@@#@@@@#@@@#@@@#@#@@#@@#@#@@###@##@#@@@@@#+;;;'';';'++'##@##+'';;:::,,;:;:::;++#++';.,''+#@@@@@@+'''+''++###'+''++++#+++#++#+++++'''+''+''+''''+''+';':;;;'';;:'';;:;::;;;;:;:,,.:,,,,,..,`.,.,.,.`.....,,,.,,.,,,.,,.,..,,:::,,.::,,`....`.```..`,,:;;'::,,,'####@,.,:::,,,,,,,,:,,,,,,,::;,,:,:::;''++++#+;::,,,,:,,,,:,:;;'::::;;::;;,::,:,,....`.,....,,,,:';`   ,;''+';;'+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''::,.,.`````                              ``  ``  ` ` ``` `
,,:,:::;:,',:;;;:;;';++##@@#@@@@@@#@@@@@@@#@@@@@@##@@#@#####@#@@#@@@#@@@@@@##;:;'++':;+++######''::::,,,:;;:::'++++';:,;;+##@@@@@@#+++++#+###++''++#++++#++#++++#+'++''++++'++'''''''';';';:'';';:;::'''';;;::;,,:.,,;,,.,...,.,,,...,,.....,,,.:,:,,,,,:...,:::,.,,:,,,`....,,..``,..,:;;;;:,,:##@##;:.,:,::,..::,,,,,,.,::::,,::::;;''+'+#+'::::.,:,,,,;:,:;;;:::';;:::::,,,.,,.......,,.,...,,:;.  `:'''#';'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'+';;,:,..`` `                                `   `  `` `
,,:,:;;::;;;;:;:;:;+'++#@##@@@@@@@@#@@@@@@#@@@@@@###@#@@@#####@##@##@#@@@@@@#+'';''++''++#@#@#+';:.:,::::;;:;''+#++;:.:'''###@@@@@#++''+#####++'+'+++#++##+#+#+#+#++++'++++';''+''''''+'''';:';;';:;;::';;':::,::,,::::,,,:.,,,..,,....````...,,,::::,,,,,.,,,::,....`,,,`:..,.,..`.,.,:;'::::,,+#@##+,,,,,::,,:,,::,,...,:;::,,,:;;;;'+;'++';:,:,,,,,,,:'::,:::;,;;;':,,,:::,:,...,..,.`.,...,.,,:,`.,''#+''++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++'';;:,,`..`````                                `` ` ```````
,,:,:;:;:::::;::;;''+'+##@@#@@#@@@@@@@@#@@@#@###@@@#@@######@@#@#@@@@@#@@@@@@#+;+++'';'++###@#+';,:.,::,::;';''++++;,,:;+'+###@@@@#++'++####+#+'''+'++#+++#+++++'#+'++'''+''+'+'+'++''''';:;;':;':''';';;;;;::;,::,:,,:,,:.,,,,...`,.,..`....,..,::,;,.,:,:,:,:,,,.,.,:,``.,.,.::.,.`,.,';:;;,,,;##@##;,:,,,:,,,,,,,.,.,,,::;,::;;;''++';+#'::,,,,.,,,::::,:.:::::;;;::;::;,:,:,.,,......``.....,.,,,:;'++++#@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@###+'+'::,.....`````                             `` ``` ` ```````             `
.,,:::;;:;;,;,;:;;''++++#@#@@@@#@@@@@@@@@@@@#@@@#@@@##@@#@#@##@@@#@@#@@@@@@@@#+'':;+'''+###@##''':,..:,:,::;''+++++:,,;''++###@@@@#######+++#++''+++#+###+#++++++'#++'+#++'+++++'+++++#'''';;;';;;''';;;;;;;;,:;:,::::,,::::,...`.`...``...`,...,::;,,,,:::,:::,...,,`.,.`.,..,,,.`..`.,:;;;:;:::####@#:,:,,,,.,,,`....,,:,,::;;;;';'+++'+';,,::::,,,::,:,,,::;;:::;;;:;;;;:,,,,,`.....``.....,....::''+++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@##++;;;:,..```````                               ```````` ` ```
,:,,:;;:;;:;:::;;;''+'+##@#@@@@@@@@@#@@@@@@@@@@##@####+######@#####@@@@@@@@@@#++'+'++''#######+'::,.,::;':'''++#+'':,,:'+++''##@@@###+###+'++++'+'+++++++#+++#++++''+''+++++'+'++'+'''';;''''';':;;:;;'';:;;::;:;,,;::,:,::...,..,,.,.`,.`..`..,,:,,,.,::,:::,,:,,,:,..`..,...`.,.```...,::;:::,.;##@##':;,,,,,,,,..,,,::::::::;;+'++;+##';:::,::,:.:,,,:::.,::;;;;:;::'';:,,,,,,,.,..``..,..,..,..,;'#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++;;::,...````                                ` ```   ` `` `  `             `
.,::;;::::::;;;:;''''+####@@@@@#@#@@@@@@@@@@@@@@#@#@###@@#@#@###@#@#@@#@@##@@@@+''++'++++#@##+';;,.:,,;;':'''+''+';.,':'+'++''+#@@@####+++'++'+'''+++###+++'+++'+++++'+++++++''++'+++'';'''''';;;;'''';;';:::::;;::,:,,,:,,:,,:,.,,,.``.......,.,,,,,,,.,,:;:::.,::,,......,,`...,,,.`.,:::::::,..+#####;:,.,.,,,..,,::::::::;';'++';;+++;;:::::,,,.:,.,,,:,,,::::;;;;;;;;::.,:,,,,.,,..`,,...`..,,.,:+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@#++'';:,,..`````                              `  ``` ```` ` ````
::,::;;;:;;::;;;:;;''++##@@#@@@@@@##@@@@@@@@#@@#@#@##@##@##@##@@#@@@#@#@@#@@@@##'''''''++####+'':,,,,:;:;;;''+++'':,:''''+#+'+++#####@#+;''''''''+++++#++++#+++++++'++''+#+''+''++++'+'''''';;;'':';';;;;';::;::::::;,,,:,.:,,.:.`,..`.`...`..,`...,,.,,..::,;:::.:,,,,,...,,...`..,.,..,.:,:::,,.:##@##+':,.,,,,,,,,,:::;:;;;''++'''+++';;:,:,::.,,,,.:,,,,,,,;::;;;::';;:.,,,,,,,,................,:+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++''::,,...````                              `  `````` ``````````
,,::;;;;::;;::;;;';;''+#@@#@#@@##@@@#@@@@#@@@@@@#@#@@#######@#@@@##@@#@@@#@@@###'';''+'++#@#++';:.,.,::::;';+++++;,,;;+''+'+;;++####@##+;'''';'+';'+++++++++#''++#'+'++++'++'+''++++'++';'''';'''''';;;;;;;';::;::::,:,,,:,,;,,,,,.,...`.....,.,..,,...,,,,:::::,::,,,,.,.,,,,...`..,.`.,:,::,;::,,'#@#@#'';:,:,,:,,,,:;;:;'''+'';''++'';;:,:,,,,.,,..,,,,,,,,,:;;';;:;:;;:,,,:,.::,..,......,.......,;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++'';:,,.````` `                                  ````` ``````  `
,:::;;;;;;::',;';''''+++##@@@@@@@@####@#@@@@@@@@@##@@########@@######@@@@#@#@@@@#'''++++##@##';;,....:::;;''++++':,::'+''';'':';+##@@##+''';;;;';''++#+++++++++++++++++++++++++'++++++++''+''';';'';;;:;;;:;;;;:::;:;,,:,,,,,::,,..,,...,`,.,,..,,.,......,:::::,:.,,,::,,.,,....``.,..,,,::,:;:.,,,'#@@@#++;:,,,,,,,,;:';;''+;;;;'+'';::::,.,,,:..,.....,,,,,,:;;;:;:;:;:;,:,,.,::,..,,,,,..,......,,,;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@##++';:,,...````` `                             `````````````` ``              `
,:,:::;;;;:;,;;:;;;''++###@@@@@@@@@@@@@#@#@@@@#@@@@##############@@##@@@#@@@@@@@#+''''++++@##'';,.,,,::;';''+++'',:;;''+''''''+'#+#@@@#'';';;;;;';'+##++++++#++''#+++'+++++++'+++'++++#';''''+';'';:':;;:;::;,:;;;;;,,,::,,,.,,,,,.,,`.,...,..,,..,.....,.,,:,,,,,:,,.,,:,,,,..,...,,.,.,,::::;::.,.,+######+'::;:::::;;;'+''+'';+'';:,,:,...:,,,,,,.,.`..,,,:;;;;;;';::;;::,,:,:::,,.,,,...,,....`.,..:'@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++';:,,.``````                            `      ````````````````  ``        `
,,,,,;;;;;;:;:;;;';'''+##@@@@@@@#@@@@@@@@@##@@@#@@@@#@##@####@###@@#@####@@@@@@@@#''''+'##@@++'.,..:,:::;'''++';;:;;''''+'+;''++++#@@#++'';:';;;';'+#++++++'++'+++'+'+#+#++'''+'+++++'+'''';+''''';;;;;;;;;;::;:':;::,::,,,,,,,,:,...,..,...,.`,..`......,..,...,,,,..:.,,,:,,,..,..,....,,,,::::::::,'+######+';''';';+'+++'+++++;:,,,,..,.`.,,......,.,.,:,::;;;:;;::,::::,:,,.,,,:,::.,,,,....,......:+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+';:,.,.`.````                          `     ``   ``` ``````` ``           ``
,,,;;;;;;:;'::;;';:;''#@#@#@@@@@@@@@@@@@@@@@@@#@#@@@#@##@#####@##@###@@@@@@@@#@@##++;'++##@##+;:..,::::;;;;'++'';,:;;++''+;''++#+#@@@@#'';;;':;:''''++++++#++++'++++'++#+'++++'++'+++''+;+'''+'';;;;';;;';;':;:;;:';::::::,,,:,,,,,.,,,,,..,.`.,...`...,.`.,...,,,,,,..,,,::;:::,,.,,,..,,,:::,;;:;;::''''++#@##++'++++'+###+#+';;,,....,.......,..`......,,:,::;;;;::,:;;::,:,,,.::::::,,.,,,...,,....`,'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++';:,..`````                             `   ``` `````````````              `
:,:::;;;;;;;:;::;:::;'+##@#@@@#@@#@##@@@##@@@@@@#@#@@#######@#####@@@@@#@#@#@@@@@##+'''+#@@#+';,,.:,::;;';;+'+';:::'''+''''''+''+#@@@#+'';;:;:;;';''+#++++'+#+++++#+++#+++#+++'+'++'+'++;;''';';;;;;'';;';;;;;:';;;;;::::::,,:,..,,.,,,,...,.,...,``,.`.......,,,.,..,,,:,::,:;;,.,,:,,.,,:;:;;;:;;;:;;;''';++++++#+++++#+#+++;:,,,,.`....``.`...```...`.,,,:::;:;;;::,:;:;:;::,,:::,;::::,,,....,,...`.,;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@###'';:,,,.`````     `                    ``   `  `````` ```````````           ``
:,::;;;;;';;::::;;:;''++@@#@@@@@@@@#@@@@@@@#@@@#@#@@@######@##@###@@@@@@@@@@@@@####++'++##@##';...,:,:;:''+++';;:;,;''''+'++'++++#@@@##+;;:::;;:;';'++++++'+++'#+++#++'''#+++++''''''+''''';';;'';;;';;'';;;:::;;';;;;::::,,:::,,::.,,,,,,,,,...........``...,.......,,,,,,,,::::,,,:,,:,::::,:::;;;''+''''''';''+++#+###+++;:,,,..,.....```...`..```.`...,::,:;:;'::,::;::,,,:::::,:;;;;:,,,,,,,.`....,,,'@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++'::,,.``````  `                              ```````.`````````````          `
,:::;;;;;;;;;::;:::;'+++##@@@#@@@@#@@@@@@@@@#@@@#@#@########@#######@#@@#@#@@@@@@@#++''+#@@@+':,...,;;;;:''+'''::,,;;'''+'''''''+@@@@@+';:;::;;;;;;'+++++#+##++'+#+#++'++++++#+'+'+'''+'+'''';;;;;';'';';;;;;:;:;+;;''::,:;::::,,,,,,,,,,,,.,.`...........`....,,...,..,,,.,,,::,:,,:::::::,:::,;;''''''''+'''';'''+'++''':::,,,,...`.``.`````...`.````..,:,::,:,;:::,:;;,:;:,:::;:;;;::,:,:::,,.,,.....,,;@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###';;:,..``````                             `````````````````````` ` `        `
,,::';;'';;;;::,:;;;''+###@@@@#@@@@@@@@@@@@@@@@#@@@########@@@####@#####@#@@@@@@@@@##''+##@#+;:,,.,:,:;;;+''+'';:,:,:;'';;''''''+@@#@##':,:::,;:;''''#++++#+++++#+++#;+++#'+++#++++''''''';;''';''':;';'';';':;;;;'';'':;;::::,,::,:,,,::,,,,..,.....`..`.....``....,,,,......,.,.,,,::,::,,:::::;:';;;;''''''';;'';'';;;::,,,,..,..```````````.``.`````..::::::,,;:;::,:,:::,,:,,::::,,,;::::.,.....`...,:'@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@#+#+;:;,,.````                               `  `````.``..``````````   `     `  `
::;;;''''';;;,;;:;;;;++###@##@@#@@@@@@@@#@@@@@#@#@#@#@@#@##@###@##@#@#@@##@@@#@@@#@##''+#@@#+;:.,..::;;;'''+'';::,,,,:;;;''+'''++#@@@@@'::::,,::;;;+''++++++++++'+''+''+'++''++++''''+'++''''';'';;';;';+';;;;;;;;;;;;;;;::::::,::,,:,,,,:::,...,,.,....``.,.`...`.``...,,........,,,:,,,,:,,,,:::;;::;;;'';;:;;;;;::;,,::::.,,.....`.`````````````.```...,:.,:,;;;:,:,:::::;:::::,::;::,;:::::.,...,`....,:#@@@@@@@@@@@@#@@@@@#+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+';::,..````    `                     `      ` `````````.````````        `    `
;:;;;'''';;:::;';;;';;++##@#@@@@@@@@@@@@@@@@@@@#@@@@######@#@#####@#@@##@##@@@@@@@###'''+@@#+';,,.,,:;;;;''''';;;::,,:;;;;;'''++#@#@@@#';:,:,,::;;''''+++++#++++'++++#'++++++''++++';'+''''''';;;';'';'+;;;;;;:;;;;;;;':;:;;:::::,:,..,,,,:,...,,.,.,...``...`````....,..`.`,......,,..,,,,,,,,,,,,::,:,:;:::::::,,,,::,:,,....,...``````.`` ```.``...`.,,,,,::;:;;';:::;;::::,.:::;:::::::,:,.:.....,....,,;@@@@@@@@@@@@@@@@@+@#@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++''::,`..``` `       `                    `  ````.``.``.`````````   `    `
;;;''++';''':;:::;:;'''+##@@@#@@@@@@@@@#@@@@@@#@@@@##@#@#@@#@@@#@@@#@@#@#@@@@@@@@@@##+++#@@#+';,,.,,,::;:;'''';;;;:,,,:::;;'''+'###@@@#+':,,,,::;;;'''++#++++++++#+++++'++++;''+;+'''+++'+'+'';;';';;''';;''';;':'';;';::;;,:::;:::,,,:,,;,,...:.,,.......``.``````....`....,.```..,...`.,,,....`.....,..,,,,,,,,,,.,,:,,..........````````` ``.`.......::::::::,;:;;;;;::;;::,:::;:;;::,,:,..,,,,.,,..,...,:+@@@@@@@@@@@@@@@@+@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++';:,,..``````                             ````````````````````` ```  ``      `
;;'''''+''';:';;;;;';'++###@@@@@@@@@@@@@@@@@@@@@@@@####@@@@#@#@@@@######@#@@#@@#@@@#@++++@##++::.,,,::;;;'''''''::;,,,:,,:;;'''++#@@@@@+';::::::;;;'''++++'+++++++++#+#+++++'+'++'''+''+'+'''#''+';;;;;:;'''';:;;;;';'''';;::::;;:,.,,::,,:..,,,,,,.```...````````.`````.``..``.````...`.........`..........,,.,,..,.,,,....`,,.`.`````` ````````...,,,,,;,,,;;;::;;:;;';;;;;;,:;:;;;;:::::,,,:,,,,.,,:,..,,,;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+;;;,,,```` `                             ````````..```..``..````` `         ``
':'''+++'';;;::';';';'++#@@@@@@@@#@@@@@@@#@@@@@#@@@@@@@#@@@###@@@#@###@@##@@@@#@@#@###++##@##'':,.,,:;;;;;';;'''';::,:::,:;;:;;'###@@@@#+;;,,;;,::;'+'+++++'+'++++++#++'#+'++''+++''';;''+''+''''''';;';;''''';:';;;;;;;';;;::;::,:,,::::;,,,,,::,..........```````..``````. ```````.``` ..```.....`..`.........,..,,,........```````````````.`...,,:,:::;:;::;;:,;:::;;;;;';:;;:':;:;:,,.:,:::,:,,,,.,:.,,,,:'@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+++;;,,.````` `       `                    ````````..`````.``.````` ` `  `  ````
''''++#++''+';'';;'''''###@@#@@@@@@#@@@@@@@@@#@@@@#@@######@#@#@#@#@#####@##@#@+@@@##+@++#@@#+;;,,.,:;:;'';'''''';:,,:,,:,::::;'+#@#@@##++;:::;,;;;+''++''++'++++'''+++++'+'++++'''''++'''+''''';';;;;'';';''';;'''';;;'';;;;:;:::,,::,:::,,.,.,,.,..,..`````````. ````` ` `` `` `.``````````.``.,.`.`.......,,.,...,....`.`.`.```` ````````,....,::::;::::;;;;:':;:::;::';';;''';;;;:,,::::;:;,,,:.,,,,,.,.,.:+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+':;,,.````  `` ` `` `                  `   ``````````..``.``````````` ` ``````
'''++++++''+''';;';;+++#+#@#@@@@@@#@@@@@@@@@@@@@@@@@@##@#@@#@@@###@@###@@##@##@##@##@###+##@++':.,,,::::;;''+''+';;;:;,::,,:,:;'+#@@#@@@#'::;:;;;:;'''+'++'++++#++'+'++#''++++++'+'++++';'''''''+';;;''';';;'';';'''';'';;;;:;;:;:,:;,:,:,,::,:;,,.,,.....````````` ````````````````````````.```.```.`.....`..,,,...``.```...```.` ` ````.`.....,,::;;;;;;;;';::;;:;';;;;;;'';;;;:;';;::::::::::;,,,,,,.,,....,:#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+;;::,.```` ``    `                     ``` ` ``..`.``.`.....`````` ```` ` ```.
'++++#++++#''''';;'''''+###@@@@@@@@@@@@@@#@@@@#@@#@@@@@@###@###############+##@#########+####+':,,.,,,;:';'''++;'';';;;:;';::::++#@@@#@##+;,,::';:'''+'+''+'+'++++++++''+''#+++''+'+'''''''+;''''';'+;;''''';;';;'+';;;;;';;;':';:;:,,,:,;,::,:;,,,,,,.,.`.```````  ````````` `````````..`````...`````````..`......````.``````````````````..,.,,,,:.:;:::;;;;'';;:;;'';;;''';;:'';;:;;::;;;:;:::,,,,,,,.:.,,,,.:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@##+;;::,..```                             ` `  `````.`....`...```.````  `````````
+'+++##+#++'+;';'+''++++####@@@@@@#@@#@@@@@@@@@@@#@##@@@@###@@@#@##@#@##@##############++###@++;:,,.,,:;;'''+'+';;'''':;;;;;;;';#####@@@@#+'::;+'';'+'';+'+#'++##++#++++++'++'+''''''';++++#'';'''''''';'''''''';';';;';;;;;;::';;:,:::,;,:,::;;:,.,,,,``.`````.```` `` ```` ```.```.``.````.,.....```.`.`..`.........````` ```````````.`.`.,,,:,:,,:;;;''';;;;:';;'';';''''''';;';:';;:,:;:;:;,,,..::,,..,,,:,,'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+';;,...`````        `  `               ``` `````....`.`...``..`````` ````` ```
+++###+##+++'+''''++'++##@#@#@#@@@@@@@@@@##@@@@@@@#@#@@@#@@@@@@@#@@###@####@##@###########@@##+';::.,,:,;'';+''''''''';+;';'''''+###@#@@@@#';:;;+';+++'+++'''+++++++++++'++'++++++'+''++++;''''+;''''''';;''''''''''';';'';;';::;::;:,:;:::;,:;:,,:,,,.......```.```````...``` ` `````.``.`.`..`...`..`.`.`.```.``````.````````` ``.``...,,::,:,;::::::';;';;;;:;';;;;''''''''';;;;;;:,::,:;:::::,,,,,:,,,,.,,,,:'@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+';:,,.`````        `   `             `  ``````..`....`.......`..`` ```````````
@##@###@@##@@#@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++';::;;:;;;;''+'+###++';'''++++++''';;;''+++'+'+';;:,,:::;''++####+++#+'+'+###'++'++'+++##++++''';'''++'++'++';''''';';''';';'';'''''''+++'+'+'+''''''';+';:;;;;;;;;:;;;:,::,,.,..,,.,,...,,,.`.`.```.``.``.`..,.```.....`.```````````````.````.`.`.`,.,,;'';'''''''''''''';;;;;;;::;;;:;;;;::::::;:;::;;;;,:.,,,.`..`````.````````...`,:,'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@####+++';;;;::;;;;;:;;;';;;;:::;:::;:;;;'''''''++''+'++++++#+##+++++++'++''++'+:
@##@#@#@@@#@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@##@@###++########@#@###++;,,,`......,.,:;;';'++#@++'+';;+;+'+''''+'''''++++''''::::,,,...,,,,,:;;;++##'######++++##+#+#+'''''+''';;+';''''';'+'+;'''''+''';'+'+'+'+''''++;''+'''''';;'';:;;::,;'::::,:,:,,,,,,,,`....,``..`...,,,`.. ,.`....`..........```````````.``..,..`..,,:::;';'++##+++''''+';';;;;;;;:;;;:'::::;:::;;;:;;;';;;;:;:::;,,:.,,...,,,..,.,..,:;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+##++++''++'';'''+''++++++#####@#@@@@@@@@@@#@##@#@########+####+#+:
+##########@#@@@#@@@@@@@@@@@@@@@@@@@@@#@@@@@@#@##@+@#+##++#+###@#######';;:,........,,.:,:;;';+#@+'+'';';;''+';';'';;'+++''+;''::::,,,,,:.,.::::;++##++###+###+##+###+'''';''''+;;;'+++'';;;''';;''''+'+''''+'+''+'+''+'''''++;'';'';;;'::;;;:;:,;:;:,;:,,,,,:,..,,:,.......`,.,....`....`...``.`.``..,.`````````.```.....,.,,,:::;:;''+##++'+;''''';;;;;:;:;::;:;:;;':;;,';;;;;;;:;:::;:;::::::,.,,.,,.,,,,,,,,:+@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#####'++'''''';'';';;;';'+''++#####@@@@#@@@@@@##@@#@##@@###########+++:
+#+######@#@@#@@@#@@@@@@@@@@#@@@@@@@#@@####+#+'++''';'';;;;'+'#+##++#+#';:,:,`......`.,`...,,:,:;;;';'+'+##++##+###@#+++'';;;;':;:::::,;:;:;;''';+'+##@@@++#++###@#####+++#++'++++;'+'''''';''''''';''';';;''';';'''';++''';''''++''''';;;;;;;:.:,,::::.:;,,...,,:::;:,,...,,....,...,............`.`..`.,.,,...`,,...,.:,,;;::,:,::;;'':;;:;';+'''++''''+''';;;;:::,,.:,:::,..:,:,;:;:,,:'+';'';'+##@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+'':,,...```````  ```````````..,,,:;'+++++#+++'+'++'';'::;;;;;;;'''':;:;:,
+####@@#########@#@@@@@@@@@@@@@@@@@@@@#####+++++''''';:;'';;++++++#+++++:';::,,,.....`..,,.,.:,;:;:'''''#'+###++####@##++';'''';;;';';,,:;;:;;''+''##@@@##+'++#####+#+##''++'''++'''';''''+';''+;;;+'''''''';''''''+;;'';+'''''''+'';'+'';;;;;::::,,,,:,::,,.,:,,,,:,,:,.,.,,,....,.,,....`..``....```.....`....`,...,,,,::::::,,,:,::';;:;::;';''+++''''++''';;':;,,:,,:,::,`..,,::,;;::,;'';;;;'''+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+';;,,,.````````` ` ` ``````..,.::;;;'+'+++++++''''';;:';;:';;;;';;;;;;::,
+##############@@@@@@@@@@@@@@@@@@@@@@@##@####+++#+'''''''';'''++++#++##++'';;:,,,,,,,.,,.,,:,;:;:,,:::;::,:;::;,;;;'''@@@@@@@@@@@@@@@@@@##@@##+##+##@@@@@@@##+##+#+###+##+''++++++''++++;+'';''''+''';'';;'''';;';;;;';;'+'''';;''+''''';;;'';':;;,:,:.,:.`,:,,.,:,,,.........,,....,.,.....,..,.,,::,,,,,...,,::;::,:,:::,,,::,,,.,,::,,::::;++++''++'+++';;;,:::;:,::::';:,::,.:::;:::,;::.,::;:,,,,;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##';;:,,...```````   ```````..,,::';+++#+##++++''';:::::,:,::,,,:,,,,:,::.
+################@@@@@@#@@@@@@@@@@@@@@@#@####+#+++'''';+'';''++#++#++####+'';;:;,,,,,:::::;:;::;;,,::,,,,,.,,,,:,,::;;'#@@@@@@@@@@@@@@@@@@@@#+#+#@+##@@@##########++++####+##+'+#+#+++#++'+'++++#'+'+''';''''''''';;;'';';;;;';'++'';;';;;'';:;:::,::::::;:;::;,,.,:,,,,,.,....`.`.........,,::;::,,,,,...,,,,:,,....,,,,::,,,:,,,,,.,,,,,:,,:,::;';''';:'+',;:''';:::::::;;:;;,::::;;;:::,:,,,:..,,`:#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+''::,,..``````````````...,,,:;'++++#+##++'+''';:::,,.,,,,,,:,:,:::,:,.
+##@##@+##+########@#@@@@#@@@@@@@@@#@@@#@##+#++#+'''+'+'';+';''+######+@+++'':;:::,:,,,:,:,,;;::::,,,,,,,,.,:,,::,;:::;'#@@@@@@@@@@@@@@@@@@#######+++@@@@@@##@++###+@###@#+++####+#++#+#'+#++++++++'++'+';'+'+'+;';;';;:';';;'+''+;'':;;:;'':;;;;;:;:;::,::;:,:,..,:,::,.,,.,,..........,,,:,::::,:.::,:,:,,.,,.......,.,:.,,,,:,,,..,:.,,.:;;::;;;;''';;;;;,::,,..`.:::;,,;::,,,..,,:':::,;;;;::::;'+@@@@@@#@@@@@#@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@#@@@@#++':;,,`.```` ````````.....,,;;'++###+##++''';;:::::,,::.,::::::,,,:,,,
+#########@#######@@@#@@@#@@@@@@@@@@@@@#######'+++'''';';'''''+#########++++';;::;:,:,:::,;;;';:':;::,:,,::,:,,,:,;:'++####@@@@@@@##@@@@@@@#+#+#'+#+###@@@@@@#@#@###+##++++#++'++++++#++##+'+++#+++''+++++'++'+'''';;'';:,,;'+'++'';';';;;;:,,,.,::,,,,,,,,.,,,:,:,.,,:,,..,,,.`,,,...,,:,,,,,,,,`...,`.,:,,...,,..`,,,:,,`,.,,,,,:,.::::,,.::,:::,,::::,:,::;;'+''''';:::,...,,.,.,:::;::;;:;,;+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@#@@@@@###++;;,,....`````````````.,,,:::''+#++#+#++'+'';;;:::,,:,:,:,,::::,,,,:,
+#######@########@@@@@@@@@@@@@@@@@@@@@@###@###+++''++'++;'++''#+#####@##+#+;';;;;;;::::,:,;''+;':;:;:::,,::::::;'+++@@@@@@@@@@@@@@@@@#@@@##@###+++'+#+#@@##@@@@+###++++++#+++###+'+'++++++++++####'++++++++'''+'+'+''''';:::;'+';';;':;;;,:,..,,;,,,,,,,:,:,,,:,:,,.`,:,....,,.,..:,,,,,,,:,:,,..,.,..,.,,,,...,....`..,.,.,,.:,::,:,:::,:;;;;;;;';'++#@@@@@@@@@@@@@@@@##++''''+#'+';'+;;;;;,:,,+@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+;;:,..````` ```````....,,::;'+++++#+++'++';';::::::::,:,:::,:::::,,,
+#+######@@@##@##@@@@@@@@@@@@@@@@@@@@@@###@#####+#++'++'''';+''####+######+'''::::;;:;,::::'';';'+''''###++###@#@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@##++++'#++#@###@#+#+#+#++++#++#+#+++#+++''++#+++#++++++++++'+';;'';+;'''';':,;::'';';;:;:;:;:,.,:,..,..,,,.,:.,,,::::,,..,......,,:.,:,:::::,.,,,...,.,,,..,:::,,..:,.,,:;'++##########@@@@@@@#@##@###@############@@@@@@@@@@@@@@@@##+#';;,,,,,,,+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++';:,....````````````...,,:;;+''++++++++'';;::;;::,,,:::::::,::,,:,,,
+#+####@@###@###@@##@@@@@@@@@@@@@@@@@@#@@@###++#+'++;''''++;+++'+######@@##++;;;;;:,,;:;;;;;'''''++++'++++++#+#@@@@@@@@@@@@@@@@@@##@@#@#@#@#@@@+@+++++++++#@@@#++#++@'++'#++++#+++'++;';+#'++#++#+;#'++'''+#'+';'+'';;'';;;;;,;''';:';;;:;;;,,,,.,,,,,.,.::,,,.,.:::,..,,,.....,,,,,:,:::::,,.,,`.`,.,.,,,,:,.,.,:.,::'+#####@@@###@##@###+####+####+#++++++++++++++++#++#++#+#+#++#+'';;:,,,,,:+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#'';::,..`````````````...,::;;'+++++'#+++'+'';:::::,,,:,,::::::::::,:,
++#######@#@#@#@@@##@@@@@@@@#@@@@@@@@#@@@######+++'+'+'':;'+'++++####++#@#++';;;;,::;::::::;'''+'+++##'+++;+'+##@#@@@@@@@@@@@@@@@@@###@@###@#@@@#@+#+++#+##########+@#+#+++'+##+++++++';++#++++++#++++++'+++++''+'+;'':;;;;;::;'';;:;';';:;:,:,..:::,.,.,,:,,:,:...,:,,,,...,,.,,:::,:::,:,:,,..,,...,.,,..,.,.,.,,:;'+++#######+###++++#+'++#+++#++''''+++'+'++++++++'+''+++++++++++';;::,,,,,;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+;;:,,..````` ``````...,,,::;;'+++'#++++'+'';;::::,:,,,,:::,:::::::,,
+##@##@#@@@###@##@@##@@@@@@@@@@@@@@@@@#@#@@######++++'';;''''++####@###@##+++';;;;::,:,;::';;++'+##+++#+#''''''#@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@##+##++++#+#@@#@#@#@#+#+#+#++###+#+'+'+''+'+#+++++++''+++''+'+''+'''++';::;:;';'''';:::;;;;,:;,,,,:,:,,.,,,,,:,:,:,,:,,,,......,,,,,.,:;::::::........,......,,,,.::'''''+''++++++++++'++++''++'+''+'+';++''''''''++;'';;'''+''''+'+'+''::,,,,,:;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+'';,,,.````````````....,,:::;'+++'''+++'+'';;;:::,:,,::,:::::::::,:,,
++###@@##@@#@@#@@@@@@@@@@@@#@@@@@@@@@@@@####+####+'++';;';;+'''++##@#######''';;:::,:;,;:;'''+++'+##+#'''';;'''#@@@@@@@@@@@@@@@@@@#@@@#@@@#@#@#@#+##+'+####@@#@+@#@##+#+++#+###+++'+++''''++#++'''''+++'++'++++++'''''';;',;';;;;';::;;:::,:,.::::,:.,,:,::,:,,:.,,,,,:,..`,....,.::::::,,,:,,..`,`.`.....`.,..,,:;';;:,;''''''';'''''+'';+''++;;++''''''''';''+''';';;;;;;'''+''+''';;,;;:,:,:;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++'::,....````````````.,.,,:;;'''+++++++++;'';:::::,:,,,,,::::::,,,,:.
+#########@##@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@##@+#++++#''+';;'''+'+##@#######+''';:::;;;:;+'+++'++#'''++';;';';;''#@@@@@@@@@@@@@@@#@@@#@@@###@@@@@##@@#####+#+@@@+@@##++'+#+'+++#+++++'+';;+;'++''+++++;'+++++';'+++++;'+;;:::;;;;;;;;;;;:::,,::,,,:,,,,.,::.,:,::,:,,,,,`..,,..,,,;..,,.,:::,,,````....,:,..,.:;:;;;,.,.,,,,,,:,:;,:;;;;:;;;;'::::::,::::,.,,,,,,,:,,:,::,,,,:::;::::,:;;:::,,,:;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+';;:,....```````````....,,::'''++++++'++++'';:::,::,,,,:::,,:,,:,;,,,
++#######@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####+++++#++'''';''+'#######@####++''';;;:'''+++++'+'+'''+'';+;;:;:,;+###@@@@@@@@@@@@@@@@@@+@@##@@#@@@@##@@##@#+#+#@@+##@##+'++++'+####++'+++'++#+'++++++##++++#+#+'+'++++'''';;::;'';';''';;;:,,:::::,,,.,,:,,::,:,,:,,:,:,,,..:..:::,,:,,,:,,:::::.......,,,:,,,,;;:::::,,,,:,`,,...,,.;;;;::;;;;:;:;:,:,,,,,..,,:.,,..,.,,.,,:,,,,:,:,,:::::::::::'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++'':,,.`.``````````....,,:;;;+''+++++++++'';;;;,:,,:,:,,:,:::::,::,,,
+@##@@@@#@@####+@@@@@##@@@@@@@@@@@@@@@@@#@@@@+##+++#+''+;''''++'+#######@#@++;;':';;+#;+'+'++';;';';;;;;;:;;,;:+++@##@@@@@@@@@@@@@#@@#@@@@@#@#@@@##@@#@######@@#+@@@##+++##++#+#+++#++'#'+++++++'+++++++##++++++''+'++'';';;;'';:':;;;::,:,,::;,::..,,,,`,::;:,:,.,::,;,,..,:.,,,::,,::::::,::,,`,....,,,:,,,:::;;:,,,.,,...,,......:::;:::::,::;::,:,,,....,,..````......,.,,,:,:,,,::;:,,::,:;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+';;::,.``.````````.....,,:::;''++++++#++'+';;;:,,:,,:,,,:::,,:.,,,:,,
+##+@@###@#####@@#@@@@@@@@@@@@@@@@@@@@@@@#@@#+####'#+++++'''''+###@###@@@###'';;';'+'+'+'';''+';;;::;;'::,;:,:''+#@@@@@@@@@@@@@@@@@@@@@@@@@###@@#@@#@####+###@@#@##@###+#+#+#'####+++#++##'++##++##++++#++++#++++'#+++''';:;:'+;;;;:;;;:,,,,,::,:,,`:,.::,:,:;:,;:,;:,,:,:,::,:,,:,,,,,,,:,,,...,.,.,.:::,,,::;::,,,,,.....,,,,.,,..,,:;...,:,,,.,,.,,.......`...`````........,.,,.,,,::;:::;:,:#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+'';:,,...`.``````.`...,,,::;:';''+++'+++++;;;:,::,,,::::,,::,::,,,,:,
+###@##@#####@@@@@@@#@@#@@@@@@@@@@@@@@@#@#@###+#++'''';''''+''+++####+##@##@++++#++++'''+';:;;;';+';,::::.:::;:'++@@@@@@@@@@@@@@@@@@@@@#@#@@@#@@@@@@##########@#@@@##+@#++#+#@++#@#+'#+++'++'+#++#++++##++'+#+##++#++'++'';';';;;:'+';;:;:::,,,,,,,,.....::;:,,,,:,::,:,:::,:.:.,,::::,:::,.,..`,..,.,....::,,,,,,..:,,,..,,,..,,.......,...,,.,,..``.`.`.`.```.````........::,,..,.,,,,:::,:,:;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++'';,,,...``````.```....,,::;''++'''+'++#+';:;;:,:,,,,::,,,::;;::,,:,,
+########@#@#+@@#@@@#@@@@@@@@@@@@@@@@@@@@@##@#####'++''+;++''+#'##+@###@#+@####++++''';';,;,;:':;:,,:::,:,,,,:::'+##@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@#@@#++##@@#@#######+@#+###+##+++''+++##+++'#+##+++##++#';;++'+'+++';''+;';;''';';:;,:,,,,,:,;;,,,.,,,,,,:,::;:,,:,,:,,:::,,:,::,::,,,....`...`,,:,,,,,,,,,,,.,........,..,.,`,,,.,,,.,,,:,,,.`...`...,....,...,,..,,.,;;,,,.,,,,:::::;::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++';;::,`.````````....`..,,,;;;'''++++#+++'';;;::,:,::,,,.,,:,:,::,,:,,
'###@##@###@#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@##+#@###+''''#''''++'######@#@##++++++++''+';;:,.,::;;:,:,,::,:,::,:;'+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@#@@@###+###@#@##+#@###++##++##++++##'++++++++++##+#+#+#+'+'+++'''+'+''''';;;;';;';:;::::::,,,:,,,,.:,,,::,:::;::::,,:,,::;,,;,:,,::,,.,,.,..`....,,,,,,,,.,,.,...`..,..,.,....,,:,.:,,,,,.:::,.`.`...,,.......,.,,,,.,,:,:,,,,,,,::::,:::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+';::,....`````````..`,,,:,:;''+''++#++++'';:::::,,,,,,,,,,:;,:,:,,,:,
'#####@@##@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@###+++';'+++'++++######@@##+#'+++'''+';:';:,,::::;,,:,:,:::,,:::'+##@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@@@@@#@@@#####@#@@@#@#######++##++#@++#+#++++##+#++###+++++#++++##++++++'''';''';':;:;';::,,::;:,,,,,:.,:,.,,:,:;;;:::,,::,,:,:::,::.,,:,.``...`..,..,..,,.,,,,....,....,....,,..,,..,,,:,,,,..:,:,.,,..............,,,,,..,,,..,,,,:,:::::,::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++';:,,....```````.`...,,,,:;;''+''+'+#+++''':;::::,,,,,,.:,:::::,::,,,
+#######@@#@###@#@@@@@@@@@@@@@@@@@@@@@@@@#@@##@@###+#++++'+''+'++##@#@@###+++'+''''';'';';;,,,,;;;::;:;:,,,::,::;;+@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@@@@##@@#####++#+#@@@@#######+##+#+#####+#++#++##++++#######+###+++++++++'++++''+++'';';;:::,::::.,,:,,..:,.,,:::::;:,,,:::::,:,:::,:,.:,:...```...``,.,,.,.,,,,,...,,.,,,,.,...,,..,.....,,:.,,,,:,,,..,......,...................,,,,::;;:;:,'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+';;:,,..``.....```....,:,:;;'+''++++#+++';;::::,,,,,,,.,,,,:,::,,:,:.
+#+#@#####@##@@@@##@@@@@@@@@@@@@@@@@@@@@@#@@@#@####'#+'++'#'''+++###@##++++++''''';'''';++;;,,::;;::,;::..,,,,:,;;+#@@@@@@@@@@@@@@@#@@@@@@@#@@@@@@##@@@#@##@##@+###@##+###+####@++++##+###'++###+##'++++@####++++++##++++''++'+'++'+';:::'::;;;:,..,,,,,,,.:::::;;;::::,:,::::::,;;;:,:,,,.....`..`.,.:,,..,,,,,,,.,..,,...,..,......,..,,,,:,,,:,:,,,,....``.``.`.....`.`.,`.,.,.,,.,,:,:;::::'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+';::,,.,.````..``..,,,,,::;;''+'+++++++'+';::;:,,,,,,.,,,:,,:,,:::,,,
++@#####@#@##@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@#####+#++#+++'+'''+#+++++++'+'#'++';;:,,,:::;:,.,,,;;:::....,,::;;;''#@@@@@+'#@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@@##@@@##@++@+###@###++#+++##+#+###+###+#'+++++##+#####+###++#++#+#+++'+++++';';';;:;;:::,::,,:,,,..::,,:::::::;;;:::::,:::,:,::,,,,.,,,...,.,,:::,:,.,,`..,:,...,...,..,.,.,,..,.........,,,,,,,.,,..``..........,...,,,,..,.:,::,::::'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##'';:::,.......`.....,,::::;;''++++++++++'';;;:::,,:,.,,,,,,::,,:::::,,
+#####@##@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+#'++++'''+#++#+##++++++++;''::,,,,:;:,,..,:;:::....,,:;;';';'##@@###+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@##@@#+#++######++###+++++++#+#++#++++++++++++##############+#+++''++''''''''';;;:;::,,,,,,,,,::,:,:,,::::;,;;;;:,:::,,,,::,,.,..,..,..,,,:,:,,,,,....,,,,....,,,,.......`.............:,..,.,....`.,`..,....,......:,..:,,::::;::;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+'':,:,..,...`...,..,::::;;;'+''+'+++++++';':;;:,:,,,,,,,,,:,::::::,,,
+####@##@@@@#@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####+++#+''++###+++##++'+++'+'';,;:,,:,,:,.`..,,:::,..,,:,:''';++#@@@@#'+#@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@#@#@#####@##++#####++#####+'#++##+++##++#++'++++'+##@@########++++++++'+'+''+'''''':;:::,,:,,;;,,:,.,:::::,,::;;:::::,:::,,:::::.,.,..,,,:.,:,,.,,,..,,....:,........,,`.,....`....,....,,,..,...,,.``.,,,......,,..,.,,.`...,,:;:::,:'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+';;::,,......`...,,,,,,:;;'''++++++###+++'';:::,,,,,:,,,,::::::,,:::,
+#####@@@#@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@#@@@@@##+#+##+''+++####+##+++++';''+';;:,,,,::::,...,:::,,...,,::;;++++##@@@#+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#####+##+#@#@#+@+####+##+#+++#++###+#+++++++++++@#+####++###+#+++++'''''+;''''::::;:,::,:,,,,::,,::::;:::;;::::::::,,:,,::,::,..,..,,,:,,.,,,.,,,:,,..,,,,..............`.....,...,,:,,..,,..,,....,...,.........,,,,...,,:::::;;:;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@##+;;:,:,,,.......,...,:::;;;'''++++'+#+++++';;::,,::,::,,,,,::::::,:,:,
+#####@@@@@@#@#@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@###+#++++++++#######++++++''+'';:::,,:,;:,....,,;;,,,..,,::;;++###@@@@##+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@#@#############++###++#'++#+++++#++#+#++'+++'++#####@#+++###++++++'+++;''';'';::::;::::;::,,:,,:::::;:;,,:::;:,:,:,,,,::,;,,,,,..,..:::,,,;,,,,,,.,,,,,.,,:.,.,.,.......,..,,,,:.....,...,.,....,,.,...,.,......,,,,,,.,;::,:::;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###'';;,,,,,..`.....,,.,,:::;:'''+++++#++++'''';::::,:,.:,:::,::;:,::,::,
++###@@##@@#@@#@@@@#@@#@@@@@@@@@@@@@@@@@@@#@#@@####++++++##@#@@@##+'+''''+'';+''::,:,:;::..`.,::::,.,.,,;::;'##+##@@@##+'##@@@@@@@@@@@@@@@@@@@#@#@@@@@@#@@@@@@@##@###+#+#+###@##+##++++#+++#+#++++##++++#+#+##+#####@++'+#++''''++'''+++;''';;::';;;::,;,::;,,:,,,,,::,;:;::;:,,,,:,,:,:::,....,,,:,,.,:,,..,,,,..,,.,,..,.,,...`..,..,....,,..,...,..............,..,.`.,,.,,,...,,.::::;:::,;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++';;:.,.........,..,:,::;:'+';'++++#++++++';;::::,::,:,:,,,,::::,::::,
+####@###@@@@#@@@#@@#@@@@@@@@@@@@@@@@#@@@@@@@@@#@####+#####@@@@###+##+++++'''''+;;:,,:::,.,`.,:,::,....:,,:;'+++#@@@@##''##@@@@@@@@@@@@@@@@@@@@#@#@@@@#@@@#@@#######++#++####+####++++++#'##++##+#+#++++++#+###@########+##+#'+'''++'++''+'';';:':;;;:,::;,:,:;,;::;::::::;::,,:,.,,,,,:,,,,,,,,,:..,:,,,,,,:,:,,,,,.,,,...:,...,,...,,.,.,.,.,`........,...,.,..,,.,.....,..,,:,,.,,,::::,::;:'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++';:,,,.,...`....,.,.,:::;;;++#+'#'+##++'+';;':::::,,,:,,:::,:,:::::,,
++#@##@@@###@@@##@@@@@@@##@@@@@@@@@@@@@@@@@@@#@@#@####+##@@@@@@@###+++'++'+''+'+:::;,:::,....,,,,,...,,,,;;'+++#@@@@@@++++@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@@@##@#######+#+#@#######++#+'+++++#+++###+++#+###+++###+@+@++#+#+'+++''#+'''+''''';;;;;';:::,;::;,:::::::,:;:::::,:,,,,,,:::,,;,,,:,:.,,,,:,,,.,,,,,,,,.,:,,..,,,.,,,.,.,,.,.,,...,,..,,.........,,,,.,,...,...,`.,:,,,,,:,::::::;;:'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++'':::,,..```.....,.::::;:';'+#++++#++++++';';;:::,,:,,::::::,:,:,:::,
+####@#@@##@@@#@#@@@#@@##@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@#@##+#++++++'+'+':::.::;:,,..,,,::....,.,:::+++#@@@@@@###++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@@@@######+############+#+++#++@++++@+#+#+##++#++++#@##+#++#+++'#'+#'++''''';'';''::,;;;::::;::,;,,::;,,:,,:,::::::,,,:,:.,,,:.,,.,::,:,,,,:::,,,;,.,,:,.,,,,,.:,,,,,.,,,,,.,....,,,.....,.....,,,.,,,......,,.`,,,,,,,,:;:::,;::;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+++;':,:,......`....,.,,:::;;'++'+##+#+###++';;;;;:,::,,,,:,:,:;,::,:::,
+####@##@@#@@#@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@##@###@###@@@@@@@@##+##++'++'+;''';:,:,,:,,....,,:,:...,,,::;'+##@@@@@@@#''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@#####@@+##++###@####++''#++#++#+#+##++#+#++++#+#+#######+#+++'++++++++''''''+'':;;;;;:;:;:::;::::::,:::::;:;:::::::,::,,,,,.,,,,:,,,,,,:::,,,,,,,,,,,,,.,,,,...,..,,,,,,.:,.,,...`.........,,..,,,,,.,.,.,...,,:,.,,,::,:::,:::;+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++';::::........`.....:,:::;;'''++++#++##+++';;:::::,,:,,:::::::,:::,:::
+##@@@@@@@#@#@#@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+'''';'+'+;;;;'+'::::;;;:,,.,,,:,..,::,,.:;'#@@@@@@@@+#+';;;'#@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@##@#@####@###++'###+##@###++##+''+''+++++##+#+###+##++#+#@#####++#+++##+'#+++#+'+';':;';+''';;:;:::;;,;;;:::::::::;:;:::::;::::,,,,:,::::,:::,,,,,,,.,,,,,:.,,.,,..,...,.....,.,..,,.,..`..,,...`..,,.,..`...,.,,.,,,,..,,,,:::::,:;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##';;:,,,,,...```.......,:::;;;;+'++++##++##++'';;;;;::,:::;,::::;:;::::::.
++##@#@@#@@@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++''+;;++;'';;'+';::;:;::.,.,,,:,,.,,,,,,:;+#@@@@@@@@#+'+++''#@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@##@##@@+@##++###++#+@##+#++++++'+++++++#+++#+#+++#++#####@###+##+#+++'+'+++++''+;;;;;';:;;;;:;;';;,;,::::,;:,;;::;':::;;::;:,,.,,::,,,.,::,,,:..::,,,,:,,,::,,,..,.,..,.,.,,,,......`.,,........,,.,..`....,.,,,,,::::,:::::::,:::'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+'+;;;:,,....```..`...,,.,::;:;'#++++++#++++++''';;;::::,,,,:::;:;;:::::::,
++###@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###'++;';:::;:;:::;:,::;;;;,:,,:::,,:::;:;'+#@@@@@@@@#++++#'#''';''@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@@@####+##@####+++#+++######+#++'##++''''+++##+###++######@@#####+#+#++++#++'+++''';;'';';;';;:;';;;,,:;::::;::;::::::;::;:;;:,:::,:,,,,:::,,:,,.,:,::,.:.,,,,,,...`,..,......,,......,,......,.............`,..,.,,:,,,::;:::,::;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++'';:::,,.....`.......,,,,,:;;:;'+'++++##+###++';;;:::::,:,:::::;:;;::::::::
+#####@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++';';;,,;;';;';:,,:,:;:,,::::,,:;;'''+#@@@@@@@@@#''+'+#'+'';;''#@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@###@#+########++#+';+#++##++#+++''+''#++##+#+###################+#+#+#+++++'+++;';;:;:;;;;;'';:;;;::;:,:;::;::::;::;;;;;,:;;,:::,,,,::,:,,:,::,;:,::,,...,,.,,.,,,`...`,`...,.,.:.,........,.`,,,``.....,.,...,,,,,,,:,,:,,::,;'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+'+':::,,,....`..`.......,,,,:,;;''+++'+#++#+##+''';;;;:::::::;::::;;,:::::::;
+##@@###@@@@#@@@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+''''':::;;'''';::::;:;:,,,::::,:'''+++##@@@@@@@@++#++++''+''';'+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####+###@#+++##+'+';'+####++++#'+++'++'#+@###@#+##+##@#########++#'++++++++++''+';';';;;;''';;';;;:::;::::,;:;:::,::::;;;;;,:,:::,::,.,:.,,,,,::,,:,,,..,,,,.,,,,.,....,...,,....,,,.,.....,,..,....,..,,.,,.,,,,,,::;.:;::::;;'#@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@#@#+'+;;:,::..,.....`.....,..,,::::;'+'+'++++++#++++''';;::,:::::::;:;:::::::::::
+####@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++'''';::,;''';:;::::;;:;,::;::::''++++##@@@@@@@#++#+++'''''''::;+@@@@@@@@@@@@@@@@@@@@#@@@@@@@##@##@@############+++++#+######+##''+'+++++#+###@###+#########@###++++#++++#'+'+'+'''';;;;';;;'';;;;;:;;;::;;;;::;:;::;:::;,',::,:,,,:,,:,::,,:::;::.`,,,..,,,,,,,:,,,.,.....,,.............,,...........,....,..,::,,,::::::::;'++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++''::,,,,...............,,:,;;;'''+'+++++'+##+;''';;;;:::::;:,:,:;;;;:;:::::,
+##@#@#@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++'''';:.:''#;;:::';:;::::;;;:;''''+'+#@@@@@@@@#+'+#++''+;'+'';;;+@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@#@@########++++++'+++####++#'+++#+#++#+#+###+#+##########@@+#@+##+##+++'''+'''';;;;';;':''';;;;:;;;;;;:;::::,;;:;::::;;:::::::::;,,:,;,.,,:::::,:,.,,,,,,:,,,,..........,..,..,,.......,.,.....`...`....,,,,,,,,,:::::::::;;;;'++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'#@@@##'';:,,,,...``....`.`.,.,,,,:;;;'+++++++#+#+++++';;;;;::;:;:;;:;::;:::;:;;,::,
+####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#'#''';:;.::'';;,:;';::::;:;''''';';;++@@@@@@@@#+#++#+'#'+';;;;;';;'#@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@###@########+##+'+''+'++##+++#++#+++#++####+####++++######@###@##+##++'+++''++'+++'''''+'';;:';;;;'''';:::;;::::,;::;:::::,,,,::;:;::,:,::,,;:,,,,,.,:,.,.,,,.............,,,..,,,.`.,,,,,..,..........,.,.,.,.,:::,::::;:::;,,..,:;;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+''''::,,,..`.....`...,...,,,:::;'''++++++#+#+#++''';;;:;:::;';;:;;;';;;;;;;:::
+####@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@#@+#++';+::,:';';:;;;;'::::;';''';;;:'++@@@@@@@@+#++++++++++;'';''::'+#@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@##@+@#+#####++#''+'+'+###+#+++#+++++++'#####+####+############+##+++#+++#+++''''++'''''';':';;'''+'';::,,;:;::;;,,:,:;::,:,,,:,,:::,:,:,,,,::,:::,.,.,,,:::,.,,:,,..,........,..,,.,..,,,,``,........,..,,,.,::,:::,,::::::.```...:;'+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++';::,,,....`......`...,,,,::;;;;+++#+'++#+####++''';;';;:;;;;;;';;;;;:;:;:;:,
+#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#++'''';;:;;'';;;;'';'''';;;;;';''++@@@@@@@@#+###+##++'';;;'';;;;;:;:'@@@@@@@@@@@@@@@@#@@@#@@@@#####@#######@###'+++'+''''++###++###'++##+#++#####+#++#++####@#@@##+#+##++++++++++'+''''+'+'+;';;''+'';:;;;;;;;:;:,;:;:;;::;,::;,:,:::;:::,:::,,::::,,..,,,,,,,,,,,,,,.,,.........,,..,..,,,,..,.,,,,,........,,,:,:,::::;;:;:``     ````.,:;'+###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+#'''::,,................,.,,:::;;;''++++++###+###++''';;';''';''+''';'''';;;;:::
++#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##++';';;;'';''++'+''++';:;'+'+##@@@@@@@@@#+##+##++#;''''';'';;:::;;:,:'#@@@@@@@@@@@@@@@@@@@#@@####@###@#########+++'++'''+++##+#+++#'++++#++'+###+####+####+##########++#++'+++++'+++;;++'+''''''';''';;''''''';;:';;;;;';'';:;:::::;:;;,::::,:::,::,:::;:::::,,,,:,,,.`,,`.,,,...,.,,.....,....,,......,..,,,,,,:,:;::;;:,`       `  ` ```....:;;+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++'';:,,,.....,....,.,.,,,,:,:;:;;'+'+#++++####++#++++++++++++++++++++'';;;:::,,
++####@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@#@###''+'';'';++#++++++#+++++###@@@@@@@@+####+++#'#''';;;;;;;;:;;:;::::::::,:'#@@@@@@@@@@@@@@@@@@@#@@#@@####@##+#+#+####+++++'++###++###+#++#+#+#+++####+#@+#+##+#+#++###+##+##++++++++#'+++''+++'++'++;';;';;;';;';;;;':;''';;';;;;;;;';;';:::;::,:::::::;::;,,,,,,,,,,,,,,,:.,.,.,....,,..,....,.,,,,,,,,,.,,,,:,,,::;;:.`   ` `` ``````````````````..,:;'+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++'':::,,,.........,,.,,:,:;;;''+'#+++++####+####+#++++++####@#@+##++''';;;:;::
+#+###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@#+++#++''';;''++++#++#+++++###@@@@@@@@###@##++#+'''';';':;:;;;:::::::;::;,,:;+@@@@@@@@@@@@@@@@@@@##@@@##@####+++++###+#+''#+++####+##+#++#+#++++#+#############++##++#+++##++#++''++++++++'+++'''''+''';;;''';;;'';;;;::;';';';';;''';;;;;:::;;:;::::;::;::::,,,,,.,,,,,,,;,,:,.,,,...,.,.,..,.,,,::,,,,,..,,,,:,:,:;;;,.     `` ```````````````````.`.,,;''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+';;:,:,,,.,,.,...,...,.:,:::;;;;'+#++++##++###+#+++++#+#++########+++'';;;;;:::
++####@##@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@###@@@@@#@#@@##+##+#'''';;'#'++++'++##@@@@@@@@@#@##+@++''''':'''';;;;;;::;:::::;,,,::,:.;:.,,:;+#@@@@@@@@@@@@@@@#@#@#@@#@###+#++#+##+##+#'#+'+++@@####@####++#'#@##++##+#+#+++#+++++++++++#+++##++++#++#++'++++++#+'++''+'++'+''+'''+''''''''';;;;;;;;';:;;+'';;:';:::::.,,::::,.,,:,,:,:,::;:::,,::,,,,,,.,,,,:,:,:,:,;,.:,:,`               ```````````````````````.`.....,:;''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+'';::,::,,,,......,,,,::,:;;;''++++#############+#####+###########+#++'';;::;;:
+##@####@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@#@@##@@@@#@@###@@#@@#+++++;''';++'''+++##@@@@@##@##+###+##'''++;+';':;;;;;:;:;,:,:,,;::,,:,::,,,,,,'+#@@@@@@@@@@@@@@@###@+#@@@+##++++#########++++####@#+#####++++###+#++#+++++#+#++#+++#++'+'++++'++++#++#++++++++'+'+''+'+++++''+'''+''+'#'+''+'+'''+;''''';:;'':,,;:;;,::,:::::,::,,,:,::;:;::,:::::,:,,,,,:,,:,:,:,:::,,,,,.                  ````````````.`.`````````.`.....,::'''###@@@####@@@@#@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++'';::::,,,,.,,,.,,,,::::;:;;';''###@#@#@#@###@++++#+#+####+######+##+++';;';;;;
+#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@@#@@@@@@@#@@@#@#@@@#@@#####+'''';;;'''+++##@@@@@@@#@@@#@##++'#++;'';';';:;;;;:;:;::::,:;:,,,,,,:,,:,,,:.:'#@@@@@@@@@@@@#@@@@@@#+@############+'+#++++#####@###@####+++##+#+++++#++#+##''+'++#++++++++'++#+++++++#+'++#+++'+++++++''''+++''++++++'''+++''+'''''';;'';;;;;;;';;:::,::::::::,:,:,::;:;,:;;::;::,,::::,,.,::,:,;;:;,.`                   ` ````````.`````````..````.......,,::;''+###+#####@####@+######@@@@@@@@@@@@@@@@@@@@@@@@#+''';:::,,,,,,,,.,,,,,,::;;';''''#########@@##@######+#+#+###########+''';;;;;;;;
++###@@#@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@##@@@@#@#@@@@@@##@#+#++++';;''''#+###@@@@@@########++'#++''';'';;;;;:;:;:;:::::,::,::,,,,,.,:::,,.,;;+@@@@@@@@@@@#@@@#@###########+#+#+++++#+#++##+##@##+@#+++##++@+#+++++##++++##'##+#+++++'++++++++++++#++++++++++++'#++'++''+++'''+'+'+''''''''''''+'';:;';;,;;';;;;;::;:;::,::::,:,::::::;:::::,:,,,:::,:,,,:,:::,::,,``                      ````````````````.`.`........`..,,,:;';'++##############@##@#@@@@@@@@@@@@@@@@@@@@@@@@#+''';;::::,,,,,,,,,,,:,,;;;:;''+#########@@###############+#####@#####+'';';;;;;;
+####@#@#@@@@#@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@#@#@@@##@#@####@@#@+#@##++'+'''';'+@##@@@@@@##@####++#++''';''''';;;;;:;;:::;:;:::,,,:::,:,,,,,,,,,,.,;+@@@@@@@@@@@@@@@@#@#@#@@#########++##+#@#++#++#########+++#+###++'#++#'+#+#++#++++++++++#++++++++##+++++++++;''+++++''+'''+++'+'''++++''''''''''''';;+;;;':;;;;:::;:;,:::::::::,:,:;;;:;:;:::,,,,::,:,:,,,::::,:::,.``                       ``````````..`.``..`..........`,,,,,::';'+##@@@##@############@@@@@@@@@@@@@@@@@@@@@###+'';;::,,,,,.,,.,,.,,,,::';;'++++#@#@#@#@#####@#####++++#####@###@###+'+'';;;;;;
+######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@+'@@@@@@@#@##@@@#@#@#@@#@@@#@##@+###''''';;;'+@@@@@@@#@###@@+#++#+''+'''+';;;';;':::::,::;,,.,:,.,,,,,,,,.,,,,,..,:;+#@@@@@@@@@@@@@@@#####@@####+##+++#++++#+++##+@#######+#+##'###+++++'+++++++++#+++'#+++++#+#++#+++#+#++'++''+'''''+'+''+++++''+''+'+''''';''';';;'';;;;:,;;;;:;;;;;::;;:,:,:,::;;:::::::,,,:,,.::::::::,,;,,,.``  `````                   `````````````..``.`..`...`.........,,:::;'++####@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@##+'';;::,,,,,,,.,..,,:,:;:;;''++###@@####@###########++##'@##@#######+++''';;';;;
+######@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@####@@@@@@@@@@@#@@@#####@@@@@@@@@@#####+''''';;''#@@@@@@@@@#@+#+++++'''+'''';''';;;::;,',::,;,,,::,,,::,,,,,,,,,,.,:,,.,;+#@@@@@@@@@@@@##@@@###@####+++++++''+##+#++#@###@##+####+++#++#+++#++++++++++#+''++++'++++'++'++'+''''+''+'++++''+'''''+'+''+'++++++''''''''''''';;;''';;;;;;;;;;;;;;;:::;::;';:;;:::::,,:::,;::::,:::,,``  ```````````                   ````````````````.``................,:::'''+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###:+';::,:,,,,,,,,,,,,;:;::;;'''+####@####@@#@@##############+@#@##+##+#++''';;;;;
+######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+###@@@@@@@@@######@#@####@@@@@@@@###@##+++''+'''''#@@@@@####@##+#'+''';++''';;';;;;;:;::;,::,:,:,,:,,.,,:.,,,,.,.,..,..,.,:'#@@@@@#@@@@##@######@#+++#+#+'++++#++#######+#######+##+++++++#+++++++++++#++++'++++++++'+++'+''++++'+'+''+++'++'#''+''''+'++'+++++''''''''''';';';';;;;;;;:';;;;;;;:;;;;;;::;;;;:::;:,;:;;:;:,,,.`      `````````                `  `` ```````````.``..`.................,,,:::'''##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+';;;::::,,,,,,,,,:,,:::;'''++#+#@@@@@#@@##@+#######+######@@@######++++''';';;:
+####@@#@@@@#@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@#+####+@##@@@@@##@#@@@#######@@@@@@@@###@@##+++''+''';'@@@@@#####+##+++''+++'''''';';;;:;:::;,:::,:::,::,,:,,.,,,,,,..,.,,.,..,,;+#@@@@@@@@@@@@@#@@#######++++##+++############+###+####++++++'++++++++++###++#++++++++'+++++''#''+++++++'++''''+'''+''''+'++++++'''+++++'+'+''''''''';;;';;';;;;';';;;:;;;;;::;;;:;:;;::;:::,,.`      `` `` ```` `               ` ``` ``````````... ..``.................,,,,,:;'++##@@@@@@@@#@@@@@@@@@@@@@@@@@@@#@###'';;:;:,,:,,,..,,,,::;':;;'''++##@#@#@######################@##@#@###++++''''';:
+####@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@+#@##@@@@@@##@@@@@@##@@@@@@@@#@@###@###+#+''''+';+#@@#@#####++++'+'''''''';;';;;;;;::::;;:,,::::,:,,,,,,,,,,.,.,.,,,.,..,.,,:+##@@@@@@@#@@#######@####+++'++#++#++#++######@######+#+#+#+++#+++++'+#+++++++''+++'++#++''#++++'++''+'#+++''+''''''++''++'+''+'''+++++++'''+'+'''''';'''''':'''++';''';;;;;:;;;:,,,.,.``         `` ```````` ``            `   `   ````````````.```.`...........,...,.....,.::;;'''+##@@@@@@@@@@@@@@@@@@@@@@#@@@#+##'':::::,,,..,.,,:,::::;;;''+++#@@@@@@@@#######@######+####+#@@########+++''''''
+#####@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######+##+@#@@#@@@@@@##@@@@@@@@@@@@@@#@#@#@##++#'++''';'##@@####++++'++++'''';;'';;;:;;;';:::;:::,,,,:,,,,,,.,,,,......,,,,,.....,,;+;@@@@@#@#@#@@@@@@#+#++++++++'+'#+++'+######@@#####+####++#+++++++'++'#'++++'+''++++'++'+++++++''+++++++++'++++''+++#+'+'+++++++++#+++++'''''';+'++''+++'''''''''';'';';;::,..`                  ``````` ` ``       `    `    `` `    ````````.````.....................,.,,,,:;;;'++##@#@@@@@@@@@@@@@@@@@@@#@@##+++;;:::,,,,,..,.,,,,,::;;'''+++###@@@@#@@@#@@##@##############@#######++''''''''
+####@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@##++#+######@@@@#@@#@@@@@@@@@@@@@@@@@@@@##@#####++'++''+''+####+##++++''+'+';;;;;'';';'::::;,;;:::;:,::,,,,,,,,,,,,..,......,.......,;'#@@@@@@@@@@@@@@#@##+#'##+'+;'+++++++#+#############+++##+++#++++#+++##+#+++'''+++''++++++'+++++++'''++'+++''+'+'+;''++''''++++++++++++++'''';;;+''++++''''''''''''+';;:,`                      ``` `` `` `       `        ` ````   ```````....`````......................,,,,::;:'+++#@@@@@@@@@@@@@@@@@@@@@###+++';:;,,,:,,.,..,,,,:,::;'''''+###@##@@@@@#######@#+############@@@####+#++''''''
+#####@#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@######+@+######@@@@#@@@##@@@@@@@@@@#######@@#@#@#'#+''''''':;'++++'+'++''''';''';;;:;'':::::::,:;,:::::,,,,:,,,.,,,.,,.,..,.......,.....,,:'##@@@@#@#@@@@####+#++#+++++#+++'#++++##@@@##@##@###++#++++#+++'#++++++++++++++++#+++##+'++++++'+++''++'+++'++'''++''''+'+''+++'''';+'++++++++'+''+''''';:,.`                            `   ``````````````` ``    `````````````````````....``.....,,.,.,.......,,,......,,,,:,:;;'+#@@@@@@@@@@@@@@@@@@##+'';;::::,,,,,,,,,,:::::;;''+++##@@@@@@@@@###@##@+#####+##@@#@@#@#######+++++++''
+#####@#@@@@##@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@##@##+#+###+#####@@@@@@@##@@#@@@@@@@@@@#@@@@#@#####++#+';;';;;;''+++'++''+;''+;'';;';';';:;::,;,:::,::;::,::,:,,,..,..,.,,,......,......`..,,:+@#@@@@@#@###@#++##+#++++++++++++++'+#+#@#@@##@#####+++#++#+++++++'#++'#+++++'+#++###+#++++++++#+++++'#+++''+++'''+'+++'''#'+'+'++'++'+++''''+;'+''';:,.`                                   `` ``````` ``  ``     ``````````   ```````````........,.....,,...,...,....,..,,,,:::;'+##@@@@@@@@@@@@@@@@##++'';;;:,,,,,,,,,,,::::;;''++++##@@@@@#@@@@@@@@############@#@@@@@@###+#++++++'++