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