..                                                                                                                                                                                                          
                                                                                               .,.                                                                                                                                                                                                          
                                                                                              .,.                                                                                                                                                                                                           
                                                                                             .''.                                                                                                                                                                                                           
                                                                                             .''                                                                                                                                                                                                            
                                                                                             ''.                                                                                                                                                                                                            
                                                                                            .''.                                                                                                                                                                                                            
                                                                                           .,''                                                                                                                                                                                                             
                                                                                          .'''.                                                                                                                                                                                                             
                                                                                          ..'.     .              .. ............................                                                                                                                                                           
                                                                                         .....    .......',,;:;;::;;cclocc:;,'';;,''''''..    ..........                                                                                                                                                    
                                                                                        .......';;::c:;;:;;;;;;;;;,,,,,'''....'''',,,'',,,''''.................                                                                                                                                             
                                                                                       .'..',;,;;,,''.',,,',,,'.......'''''',,,'',','''',;;;,'.,.......'',',;;,,,'............                                                                                                                              
                                                                                  ...''..''c;'..........'.'''...''''..,;;,,;;;;,,;,;;,,'''''''...'',,,,;;;::cclc::;::::;;;,,,'............   ....                                                                                                           
                                                                              ..',,''....',:,'............'''....''''..,,,,,,,;;;,'.',,;;''''''''.............,,;;;;;;;;;;:;;;;,,..',;;,''',,,,,,'.......                                                                                                   
                                                                          ..,;,,,'........;:;;.............'.....'.'''',,,;;:cccccc::ccc:;::;:c:;clooc:cc;.';;:;;,,,;;;;;;;;,,,;;,....;;;;;;,;;;;;:,,,''.....           ..                                                                                  
                                                                       .',,,'.'''..........,;:''';'..........;,'.,,;::::cc:colcc:clolllllocccc::::clcccc:clllc;,'...',;:::::,'.',,''',';;;,,,,,'''''..'...........      '.                                                      .                           
                                                                    ..''''...',,','..,,''...,;;,...';;......;c:;,;:c:;:;;;,,::lodoloc::cccccllllllllllccc::,...........';:c'..'',;;:lc:;,',;;;;;,,,'',,;,...............'.                                                     .                            
                                                                 ..'',,'........'....''','...',.......'.....'oo;.;::;;;;;;'':olllolllcccllccllllcclccccc,..................,;,:cc::;:c:;;:;:cc:ccclc:;;,,,,''''''''..'........                                                ...                           
                                                              ..'',,''..'''..'...........',;c'...............,l,',;;;;:::;;;,cl::c::cdoooooloooodddooo:...............',;cloooooodddoooollloolccc:::::ccc:,.';c::,'''..............                                           ..                            
                                                           ..''',,'....','.''..','.'.........,'......''......':oc:'.;;;;;;;,,col::cllloloooooddooddo:'........',''',;;coodxddddoooooololllllll::::::cclllcc;.'';lcc:''.''..'....''....                                      ....                            
                                                         ..',,'.,,..'.''';,'......'..''.',;'.'lc'.......';;:'.'oo;'.';;;;;::::c:;;:llolodc:cclodol:,'.';;,;:;;:::cccldxkkkkxxxxddodol:cl,'',,;::clllccccol:c:'',,lll:''.'''.,,,'.........                                   ....   .                        
                                                       ...''''.','''''.,''',,;;;;;:::ccclooooloxdooc,....''','lo:;'..,:;::c:::'..,;cooodkdoc::::ccccc::::::;::;;;;:::::;:clookkkkkxxo::''',''....,,;,,;;;;;;;;;,,,;cl:'''.''',;,......''''...                              .....                            
                                                    ....','..',;,,,,,';',;cc::cloddxddooddxddxxkOkkkkl...''',;dl......;::::cc:'...;coccllllclolool::::lloololllllllllclodxkxxOOOOOOOOxc;:cc,'''''''''''':,,,;;;;,,'',,,'''',',,;,........,;,','.                           .....                            
                                                  .''''',,.''','',:cc;,;::;;;cldddoddddddxxxxkkkkkxkkxo;',:cc;;c'...',;c:::ccc,....,llllcccllclc::oddxxxddxdddxddxxxddxkkxkOOocccdxdoc:c,,'''',:;dkddl:'..',llc::;;;:::;;,,,;;;:;,......''.''...;,...                     .......                           
                                               ..,'',',;;,''',;,,:c:'..,;,;:lldxo::lodoodxxkxkxxkkxxxxxxxkxxd::;......'::::c:::;'...',;::::;;::clcoddddolooxxkkxkkkkOO000OOkl::::::::c:cc::;;lxkxkkkkOkl,':cllool::;:::;;,,,;,;;;;,'...'....'.....,::,,..                .......                            
                                             .''''.',,;;;'';;;,,cc,'..'::cloodddddoodddoddlldxdxxddkxkkkkxxkx:,,,....';cc:::::;',,;:,,,,,,,'.:loxk0OOxdddxkkOOOO0OOOOOOOxlc:::ccc:coxd:lodddocccdOOOOOkd;oddodlo:lollc:::;,'',.',',;::;,',;:;;,.'...,:,;;,.           ..........                            
                                           .';;,;;';;,;;,'::,''c;'''.'c::dddddddddxxxddcc;.'ccllldkkkO0OkxkOO:,,;,,;:cllo:;;;:c,',,;,,,,',,,;dO00000kdodkO0000000000Oxl:::lodkxxxxxddkkkkkkxdd;,:lkkkOkkxkkkkkxolloooolcc::;'',',,''':c::::;;:;;'.'.  .....          ..........                             
                                         .'',,;::;,,',,'';;;'.,,.''.,cc:dddxddddxxxdkxdc'''ldldkkk0kO0O000KKXx;,;clllllccl:;,:c;,,,,,,,,',,;ck0K000OOOOO0000KO000Odc:::clkOOOOOkxxxddxxkkkkxxkoo:',:ccoxxxxdoc::odoolooocc::;,','',''':c:;;;;::;,',,.               ...........                             
                                        .,,;,',;;;:,,;,,;::;.','''.:cc:odxdodddodddxdkkxxxxkkkkkkOOoxkkOO00000xc;:lcclcc:cc:l:;c,,,,,,,,,,,,;000KK00OkOKKK0Okxxkol::lxO0000000OOOOOkxdddddkOOOOko;;loodlc:;;;:ldolllllllcc::;,,,';,''..;:;;:::::'',;,'.             ..........                              
                                       ..,;::,,,;;,,;:;;::;.',',';cc:cddooodddddxxkkOOkkxxxkkkOOOkkkkkOOO0OOOOkdl;:lccccccllc;:cl,,,,,,,,,,;;lOO0KKOkoooxxddxdddlodk0KKKKXXXKKOO000OkkdooxOOxxddxdlllc;;;;;loodolooooddoolc::,,,',;;:c::::;:cc:;',',;,,            ...........                              
                                      ';;cc:::;,,,;;;;;;::'',:c',;c::xxxdddoodxxkkOOkkxkkxkkkO00OkkkkkkOOOOkO0c;d:;cllllcclllccclc;,,,,,,,,,,,cddxdxdlodkkkdxkOOO0KKKKKKXXXNNXXKKKO00k0Oxddc::;::,;cc:;;:loxkdllldxkxxxxddddo:;,,,:looooolcc::;,,''',;;'..         ..........                               
                                    .,::cccc:,',;;;;:::cl:'',:l;'':ldddddl:ccdOkkkkkkkkkxkkOkkkkOOOOOOOOOkodxxl,lc;:cclcccolllclldl:,,,,,,,,,,,:lllcclx0OxxdkOk0KK000K00KKKK0KNNNX0000OOd,,,'::;;:::;''''ldxoollookxkOkkkdxddo:;;;:lllollcol:ccc;,,',,;;....      ...........                               
                                   .,,::cl:;,,::c;,:,;clc,'',:,'';lxxxdlc,'';:xkkkkkkxxkkkkkxocoO0KKKK0OOkcoddc'l:;ccccccoxollolodklc:,,,,,,;cdllccclxKKOOOOKOO00kk00O00Okk00O0KKKK00Oxl;',clc:::;;,:::;,ckkxxkolldkkkkxkxkkxdl;;:,,;llool:,;cc::;;,'';;,'....    ...........                               
                                  .,,:::::;;;:::c,;;:ccc:,',;,,:oxxxxxxdoclookOkkkkkOxooxkOOoldOOxoool:;;::col;,l:;:cccccodlllooodk0kx;,,,,,cOOxcllld000XKK0OkOxxxk0K0O0kxddxK0kk0kkdc;,::ccc:;,'';dOkOkxOOkxdxdllldkddddoxxxdc;,'...,llc:;:clcc::;,,'';;''','.   ..........                                
                                .,,,,;;:,;;:;;:::,;,::llcc:;:ldkkxxxkkkOOOOOOOkOOOOOOkxkxddoool:::::cclloooolo;'lcclcc:cccccodldloxkK0xl;:;:dddddxOOOOkO0OO0kxkkxkOKKXXXOxxdOkl,,;c:,,cxxol:cc::ld:k00XKOOOOOkxdocccldkkdxkkxc;;''..'::::c:;;looc:::,,';;',,';,   ..........                                
                                .'''';,,':c:;:::,,,',odoollldxxxkkkkkOOOOOxxkOOO0OOOOOOkdxOOxol:ccllollololooc,,,;cllllcccllxOlooolOKKXOlldxddxxkxkxxkOOkkOOkkxxOO0KKXXKOxxd:;,,,,,,;xxdoo:;,,;cc;,o0O000Okdddddlc:::dkkOxddd:;;'''.:ooc:c::;cdoccc:,,,;;,,,'';,    ........                                
                               .';,',,,'.:cc::;;,,'.:dddddoxxxdxkOOkOOOOOOkkkOOOOkkkkO0KK000o:;;;coolooollolc,,,,,;looollllxOKkxdo:oOO00000000OxkkkOOOkO0000O0KXXXNXKKXKOOOOkc;,,;ccllol:;,,,,,,;cldxkkOOxddoooooc;;:dkxxxoll::;''''cooc:::::clxolc:,,,;;;','''',.   .......                                
                              .''',,,;,.,::;;;;,,...coooodddxkxxkkkkOOOkkkxkkOOkkOkk00000KKKdo:cooldll:;:ccc:,,,,,,loollllx0KKOoooddx0KXXXXXX0kxkkOOOO00KKKKKKKK0OXXKKOO0OKXXKdcolooloc;,,,,,,;ldodc:oodkooooloddlc:oldxxxddd:;:::c;odlcllc::c::xxl;;;,;;;,,,'''',.      ........                           
                              ''..,,,,'.;';:;;,''...cldddxxxxkxxxkxxkkOOkxxkkkkxkkxkOOOOOOkkkooxkxdo::;::clo;,,,,,,;:lllloOOKK0kdoo;o0K0KKXXNNXXXXK0OO0XXXK00OOxodxkdxOk000OOxollllool;,,,,,,cdxd;oxcoloxxodxxkxddoolllloooddl;::l:;ol;,:dllccc;cdl;;;;;;;,,,,,''',,.    ............                       
                            .'....,,',.'.'c:;,''''':olooldxdddxxkxdxxxxdddxxxkkOOkkO0OOOOOOOOolool::::cllloll;;;;;;,,cooxxxxxxkllddccd0KKXNNNXXXXK00kkKNXKOkkoolodxoloxkkkkkxlllllc:;,,,,,,,cooxl;,cxooddkxkkkOkxddllloollddod::::':ol;,,;oocccc:cc,;;;;;;,,,,,,'',',.      .............                   
                           .'....',,,'..':;;,;:cllllodl:,,collllooddddddxxxxkkOOOkOdooodddddooclodocccllllloc,;;,;;,,;odxdddxxxxdloxk0XXWWWWWWWNWWNXXKKX00xxxdooodxxOOxddxxoolllc;,,,,;lcloxxxxxdc;,lxddkdkOOOOkkkoooooododxod:::;'odo;,,,',;:ccc::,,,;;:;;,;,,,,,'',..    ..............                   
                          .,,..',,,:c'.',,;:c::cllloodxo:,'',:llclooooooddxxxxkkxxxl:::::::::ccccodllllllldkl;;;;;;,;;;lddxxdkOOOolxKXXNWWNWWWWWWWNNXNWN0OkkOOkkkkOO0X0Oxooooll:;,,,;lO0OkkxddoodkdllxxxddxOOkddxkxddddoddoool::;,'ldo,,,,,'.':c:c;,,,;;:;;,,,,,,,,.,,..     ............                   
                         .,,'.,;,:;::;,,:ccc;.,lclooxxxxxl,,'.':ooodddoolododlcccccc:cclcclclccclxdolodddxkxd:;;;cc;;;::ddk00kkO0d:o0XNNWWNXWWWWMWWWNNXkkkkkkOOOOOkxkkxoollllc;,;;lkKXXKK000kxx0OkOkkocccoO000kxkOxxOxkkxxxool:,,,'ldl,,,,,,',cccc:;,,,,c:;;,,;,,,'.'''.          ..........                
                        .,:;.,;;;c:c;,;ccc;;;.;::clddddxdoo:',,';;dxkkxdooololllllllldkklldlcllccdO0OOOOOOOOOkxxxxxo::cldoxxodddxdcll0KWWWNNNWWWWWWWWWWNXK00OO000koolloooddc;,,;ckK0KXXXK000OOKKkOkxdcll:o000OxkOkxOOO0OOOOkkc,,,,,ddl,,,,,,,,:ccc:;;;,,c::;;,,,,,'.''''.     ..       ....                 
                        ';:,.;;;:,,,;clc::;:;',,;::::::cc::c:;,',,,:looooooxxooxkdooxOkdxxOOxddlxOOOkkO0K00Oxdxxxxxd:::cccxxdxxkOxooodkXWWWWMWWWWMMMWWWWWNNXKO0kxdoolldO00KOxddk0KKXXNXNNKXXXKKkkxxxoccclx0KKKOOOkkkkxO0O000ko,,,,:oo:,,,,,,,,:cl:;;;;,;:;::;,,,,,'',,,''.      ..                          
                       ',;;'';:lc:ccll:c:;:c,;;:cccccclllccc:::l::;::::loooloodxddoxxxxxxxkkkkx0XXXK0KKK0OkdoooloxxxlcclcokOxxxkolc::lONNWMMMMMMMWWWWMMMMWWNOOxoooxOOOO00KXXX00KKNNWNNNWWNXNNNXKO0OxoodxkxxO00kkOOOxkox0O000ko:,;cclo;,,,,,,,,;cl:;;;;;::;:cc:,,;,',,'''''.       ..                        
                      .'',,;coolcccc;.lc;;:l;;;;:ccclllc:::;,',;llc::c:;;:ccooolo::lldOkdoookkOWWNWNXKKKKK0Oxkxkk0KXNNX0odOOOOxollcclKNNWWMMMMMWWMWWWMMWWWWWKkddxxO0000000XKKXKXNNWWWWNXNWWNXXXK0K0dxdddxxkkkOOOOOOOdoodkkOOd,,,llcll;,,;;;;;,;cc;;;;;;:;;:::;,,;,.;,''''''.                                
                      .';:ccldolccl'.,c;;,c;;:::cl:cll:::,;,'',;::;c:c:ll::clcloooxO0OK0xddxkkKWWWWWNXNWWMWNKxkkONWXNWNNXK00O000OkodoOKNNWNNWWMMMWWWWWMMMWWWNK00OxO00000000KKXKKKXNNMWMNXXNNWNKXKXX0Okxddxkk0K0k0K0OkxdddkxO:,,clcclc;;,,,,;,,;::;;;;;;;,;;;;:;,,'',:,,',''.     .........                  
                     .',;;;odddoll;,'c:;;;;;::clcolldllc,,;,,,;:loo::ccc,;::::ccx000KXXKK000OKXXXXXNOkNMMWWNK0OkOXXXXNNNNXKKKKKK00OO0XXXKKKO0XWMMMMMWWWWWWWWWWNX0oOK0kkO000XNWNXXKKXNWWNX0XXNNXKXXXN0OOkdkxOKKO0000KOxdoxo::,,coolcc:;;,,,:;;,,::;,,,,:;;::;;;;,,,',,,,,''''..   ..... ...                  
                   ..,,'';oxdoll:;;:::;,;;;cclcllcoxkOd:;:;;;::lol;;oollc:;:oodocoOXXXNNNNWWNWWWNOkxxxKNXNWWWKK0kk0NWWWXXXKKKXNWNXXK00O0kdxx0KXNWWWWWWWWMMMMMWNOocdkkO0XXXNNNWNKXNKXXXXXXX00XXX0KKKN0k00kxx000K00KK000OkOkol:cl::lllccc:;;::;;;;;::,;;:::::;;;,;,;,,,,,,''''...   ....                      
                 .'''''';looll:;:;;;:;,,,;::clloxOOO0Okc:c:ccllo:';lkkO0xlld0KKdl::ckXNNNWWWWNWWKdkxkkKXNWNXXNNXXK0KWMWNNNNX0KXXXXK0xkkOO00OOxoxKXNWWWMMWMMMMWK0kdkkklclkXNWWNXXNNNNNWWWWN00XXNNNX0XXXKKkxxO0OOO0OK0OOOOkkoxooc;;;;lllodddoolol:;::::::::::;;,,:;,',,,,,:,'....    ......                   
                 .,;;,,:l:,',;,:cc;;,,,;::cclcdkkO0kO0xcclcllcc,';dkOkxkO0KKKKK0Oo:::lOXNNWWNNWWXkkk00XWMWNNXXXXNWWWWWWWWNNXXXKXXXX0OOOKX0dodxxxkkOXNXXNWWWWWNkKXX0dlcccdXNNWWNKXKNNWWWWWNKNWNWWNXKKNXXKKOOXXX0O00K00kk00d::ccc;;;;;clllooolccc;:::cc:c:;:;;;;;;:;,,,,,;;,,,'.....    ..                    
                 ..;;;,;'..;ll,;:,;,;::::cooolcoO0kxkxccclllllc;cdkOkccldk0KKXXKK0Ol:;:ccoO0KXNXX0k00NWMMMWNXXXXXNWWWWNNXXXXNNNNNNX0O0KNXxoooooodOO0KK000KKKXNNWNNxldddkKNNNNNNXXXXWWWWWNNXNWNNNNXNXKXXK0KKWNXKKK0O00OO0Odooccl;;;;:cllllooll::;:cclc:::;;;;;;;;;,,,,,,;,':,'...  ..   ....                 
                 ..;;'..';:llc;,,;;ccldxxdxdl::ccdxdxlc;;:l:;;;lkOOOkOxddxk0KXXXK0K0Oo::::::lodd0KXXXWMMMMMMWWWWMWMMWWNXXNNNWWMWN00OO0NXdoooood0X0XXKKXXXXNX0O0000XXKKKXX0KOONNNNXNWWWNNXXXWWNWWNNNNXXKKNKXKK0KKKKK00K00Okxxdc;;cl:ccllcclllcc:;:cclc:::;;,;;;:;;;;;,,,,,,,'....   .........                
                .....,;::c:;,,,,,,;cclokO0Oxdoc::lxxkdc;;;,'...,dxkkkKKkk00KXXXXK00XNXkl:oko;;;c:coxOXWWWMMMWMMWMMMWNNWWWWNWWNNNXN00KNXkdooddkKXKKNKOO0KKKK0KOxxONNXOOOOkOOKXNNNXXWWWXKKKXX0koO0K0K00OOO000OOkkOOOkOO0OOkkkkxolddo:ccccccclcccodocccl::c:;;;,,,,;,;;,',;;,',''...     .....                 
              ...'.,::::,,,,,,,,;;:c::cxkkkxkoccclol:,;,',''..',:xkkOdlxOKXNNXXXXXNNNKOkk00xc;;;;;::ccd0XWWMWWMMWMMWNWMMWWWWNK000KKXO0OoooooxOOK0XKKOO000KK0KKOxKKKOxxkOKNX000XXKO0XXKXKK00OOkkkxxxKK0Oddxddddxddddxxxxdoodxkdodlc:cccccccc:ccoxxol:::::;;;,,,,,,;'',,;;,,,,''...           .       .       
              ..,;,,cllll;,;;:;::;clclldxxkxxxdoc:c,'',''.'''',,;ckkxldO0XXXXNNNXKKNNXkxxdxxll::::ccclolodOKWMMMMMMWWNWMWWWNK0OOO0XKxooooooxddddxOOOkkOKNNNN0Oxd0KkddOkkOK0kk0OO00OOO00O000K0kxxxdkKK00kxdddddodoolclcooooddllllllccccclloccccddkxccll::;;;,,,:,,,,,;,,,;,,,,''...             ..  ..       
            .';;;:cloodl,'.';;::;:ccxlocdkkxkkdoool;,;'''''',,,,;:oll0XXXXXXKNWWXKKXKOdd0kxkxdlllclllloollxOdOKWWWWWWWWNXN00KxKKOOOooooooldkkOxddxokO0NWWWWNkoollcoddkkkkxkdxxddxxxxkkkkxO0kxxxxxxk000xxOOkddddxololllldolocccccccccccllolccccdxdoocoooc;;,,;;;,;,,,;;,;;,,,,''...                          
      .  .;cc:::;;:oo:,.'',''':::c:clloccooodxddldxdl:,''',;;;,,;;;;:l0NNXKKXXNNNXKXXXKKN0xxxkkOkxdoldlloxxllkKWWWWWWXxdK0KK0KXkkdkOoooolllkkoxddloOOkKNWX00kodddodxkddxxxxdxxxddoooddoddxxddxxxxxO000kkKWNXK0OOOxxooollooc:c::c:ccc:llodc:cccoclxdcc:::::;;;;:,;;,;;;,;;,,,'''....                         
      .   .,:ccccc;,..',,,,,''';c:;:cc;::;:lddodloxdddc;',;,,l:,,;;:c:c0NWNNNNXO0KXXNNWNWXxxxkkk0XWXKkxdooollkNWWWMMMW0XNXNNNWN00KkooodxdoxkkkOOOO0KXXK00OO0OkxxxkkkdoxdxxOOOkkxxollodddxxdooddodxOk0OkOXWX0kxxdxkOOOddodo:::::cclolccodxlclllod:ddllcc:::;;;;:;;;,,,,,,;,,,,''..                           
        .     .,::,.',''',;,',,,c:';,,',,ccloodooxxkxxxxl:::dOkxoc:c:dxONWWNNNKkKXNNNXXNWNK00OkO0XNWWWWKNXK0xONWWWMWWWWWWMWWNKXkooooxKKOKKXX0OKXK00Okkk0Okkk0k00kdxkxdlddxxkkkdodddddxxxxdddoollodxkkkkkOkxocokkkOOkxddolcc::::c:cclolodollloldk:oloo:::;;;;;;:;,,;,,;,,;,',,'''.. .                        
            .....''',,'',;,,,''';,',,',;clllc;:;;lkkkOOOkkkOk0O0Kxcl:oOkOXWNXXNXXXWWNNNXWXXXX0OOXNWWWWWNWWNXNNWMMWMWWWWWWWWWNXkoooxKWWNXNXX0O00O00XX0kkk0OxooodkxxkddoododxkxxdxkkkkkxxxxxxdolcllodkxkOKKdll:;xkkOkxdoloo;,,',;:::cloooo:clloddOclllcc;;:;;;:;;;,,;;,,,,;''''''... .                ..      
            .....''',,',',;,'..','',',:cllocc,,,;:o0O00000OOkO0KKoc:;:oO00NNXKXWNXWWNXWXKNNNKK0O0XWWWWMMWWWWWWWWMMWMWWWWWWWXKOdooOXXNWWNXKKXXNXK0kxOOkOkkxoookoclodkOxdllcllldkxxxkxxkkxkkOkoccllkxkkO0NXkooxodxxxxoooool;;;;;,;:lolxodl:llloooxc:cloc;:::;;;;;:;;;;,,,,;'''''....                 ...      
         ........',',,''';;,,'.':'.,,,:ccoxxdc:coxdxkOO0000xk00K0l:,:dOOOO0NWMWNXKKXWWXNXKXK0K0XNKNWWMMMMWMMWWWWWNKOkXNNXX0KXK00XWWNXKKKXKK00OOxOOoddxxocoxooddc::cxKK0xdolclclxkxxddxxOxxkdccllldOkkKXNXOO0koclcodlolllc::;:;;,:ldlloodllllloxo::llo::::;;;:,;;;;;;,,,,;,'''''''.   ...                    
      ......  ...,,',,''',;,,,'',,';;;ddxkxxd;cOOOxxxkO0000Ok00OkkxdkkkkkOkKNWWWXKKXXXKO00XXNNNN0OXNWWMMMWWWWWX0kOOO0KX0xddxkKNNNK0NK0KKKKKkolllodxddoocll::oooc:c::loOX0xxkkoodxdooooxkxxxllcclxxdoxKKKK00KXOxkkxolollc:;;::::l:codod0xxlolocll::cclc;:;;,;:;;;;;;,,,,,,,,;,,'.'.....                      
.......       ..',,',,,'''',,,;''::::coxxxxxc:xO000xk00KKK00OKXKKK0O00KNXKk0XKXK00OOkxxx0KXXNWNXKNNNWWWWWWWNXX0kOOKX0xoollokKKK000NNXXNNWNxcclolodxkkxkxdoddocc:ll:lc:l00O0OK0kxdxocokXK0klllccdxxdod00000OkOOOdxllldl;,;:c:ccc::lolod00xdcccccc::ccc;;;;;,;:;;;:;;,,;,,,'';,,''. .                         
             ...,,;',,,,'...,;;',:cclloddxxo;o0O0KXX00KK00OkKNNNNNNWWWWWWKkkOOkdxkkkx00XKOONWNNNKNNNWNNWWWWWWWNNXK0xoooodk0K00KKKXXNWNNXOocldxoookOkdlcodoll::cloccoc::ccclxxOOO0kdcoclk0xccclldxxdodO0O000xkkdlllddd;c:;;cllcccclooxdkddxcccccc:;ccl;;;;;;::;;;:;;,,:,,,,''''''...                         
             ...,,,,,,,;,..'';:,;:cllxkdxxxo:od00KXK000OOOO0WWNNNNNNWWXkKXxkxkkxxkkxONXkOO0XNXKXN0XKKXNNWNWWWNKOOxddxk0XNXOO00XNNNKOkxdc:lcccdddoodol::occcccc;:lxxdoccolcccldkOOOOlcclcooccllldxooxkO0KKKKkkxoolloo::::lcllccccccloxdkddlcclcc:';c::;;;;:;::;;;:;;,,:;,,,,'','';'''           .            
             ...'';,,,,;;.'''':;c::ocdxxkxddkOk00KK000K0kkONNNNNXKXKK0dodkOddxkxxxkk000OO0KXXNXNNX0KKKXK0KKKKXKKOOOO0OkOKKXNWWWXkdcccclloollcoloooolc:cdlll::l::::lddlccccccclocoxddc::lllclllldoodkkk00XKKkxxddlll;;;,;cccccccccloodOOlllcccc:'':c:;;;;;:;:;:;;:;,,;;,,,''''.......      ...               
             ...',;',,,,;;'',;;;clcoolxxxkxdddO00K00KKK0XOO0xxkkkxxxxdldxxxkkxxkkkOOOkkOOOO000000K000kxdkOKKKOkddoxO0O0XXWWNNNOccoxkdddodoolllllolccccxll:c:;::cc:ccc:;:ccccl:::::llccc:::llllcldxxkxO0KXKKxxdooccc::;:ccccc:cclclldxOdllllc:;'',cl:;;;;;;;:::;:;,,,;,,,,,.......         ..                
             .,'.,;',,,;;l:;;,,;c:coloxxxkOkkkO0K0OKKKOxdllloddxxkxkkkkkkkkxkxkOOOOkOOOO000OOOO0XXXKKKKK00xollloxOOO0KXNNNXKOdoldO00kdooll:ccllc::clccd:c:clcldkxocccc:::dollc::clcc:cc:;cccccccxkkxx0XXX0kxxxxl:c::::olccccccoocllKkoxooll:;''';cc;;;;;,,:c::;;;;,,',;,,........                           
             .,'',;'',,,,:lc:;;cc;:::lxkkkOOOkOOO0O0OxdooodxxxkkO00OOO000XXXXXKKKXXKKK0KKKK0koodkKKXXXK0KOxoloOXK0O00KXXXOlc::olldxxdoodooc::llcocc::olccldk0KXXOxdll:clloxxdoolccool:ccc::ccccldkxkkkXXXKOxkOxl';c::lcccccccolxdoO0Oodolcc:;,,;;cc;;,;;,,:l:;;;;;,,',,;'.'''....                           
             .''',;,',;,,:c::;,;,'',;;cdxkkOkkkkOkddoodxk000OOOxdxxO0K00OOOO0OKKKXK00KKKOxdlccllONXN0xoxkxdd0XXXXKKXXX0Oxcccdxkxolxkkxo:coododxOkxdxoxdxxxkKNXXKOkkOOxOK0kxkkkdolllxdllllc;cclllokxxxkKXXXOOKKxo;'':lcccccccllooddO0odllc::;,;c;;c:;;;,,,:c:,,;;;,,',,,,'','....                            
             .'',,,',,;;;;;;,','''';:;cdddxkkkkddddoodx0K000kOOxxkk0K0KK000KKNXKKXX0XKOollodocloXOkxllloxk0XNXNK0XK0Oxdlloxdddoc:coxdlcccd00OOOO0kxkxddoOKWNWWXKOkkOKKXK0OOkxoooodolodolcc:ccllccxxxxx0KKKKKXKddx,,coodlolcc:lodxx0Xddcllcc,cl:;;c;,;;,,,::,.',;,,,,,,;,''''....              .             
             .'''',',;;,,'..'',',,,;';lxxdxxkdoxddoodkkOOOOOO00Okk00000XXKO0KK00000kdclx0XNXdllkX00kdddoxK00Oxocooclldddxxllc:::c:cocloxk0K00OxO0xdOOddONWWNNXKKOxkOOO0Oxxkxdoolloodkxddddcclcccloxxxk00KXXKX0xdx:cllloooodlllddOkkddllllc;cc:;;;;:;;,,,;::;,,,,,,,;,,,,,''.....            ...             
            ..''',,,.'.'...',,,,,'',;ldxxxxxdllooddxOOOOO0K00OOkxkkxkO00OOkxk0OxlccldOkk0KNXXK0NXNNK0kdl:lcclcccodoookxoll:cc:ccc:loxOOOO00Okdllxxkkkxxk0K0XXNK00kO00000Oxxxxddccloodccllo:;ccccllxxxxOKKXXK0kxlllllodoloodlodod0dollollc;:lc;;;,',;,,,,:::;,,;,,,,;,,,,,,'.....           ...              
            ..''''','.'''',,'',,,:lllodooxdlllloxkxkOO00000OOOkkkxxxoc:::ccldlc:;,;:cooxdOK00OkxxoccccllcooldodlxOdolc::::ldxkdloddxolxkOOOdllllloxkxxk00KKKKXXK0O0XWNXK0Okxkoolccllllllddoodc:cclxOO00KK00Oddololllooloddooxod0Oolloolc:ccc:;;::;;;,,,;lc:,,,,,,,,,,,,,,''....                             
            .....'.,''',;,'',:::,,loodddxxolcloooxoooOOkdlccccclll::c::;:c:c:,'':,;c;:ccclcccccllldddxxxOO0Okxxolccclllc:cldkK0docldk00OdldolloloddxxOKKKKXXXKNWK0ONWWWWNXOolllolocloolcldxdolccclxxkO0KOlddocoddoooodxkkkxdddKOKooolddc;cc:;;;:::;;;,;cool:;,,,,,,,,,''.'.....                             
            ....'''''.',,,,';::::,clooocoocclodloolccoolc:;;;:c:;::clcl::ccccclddolcccolcolloloolooololldool::cccccllodxk0OxoclcclkO0Okdldoololooox00KK0KXXKKKKK00KNOXNNNNKkolllolccldo:clol::ccccodxxOkkdxdodddoodoxkkkOOxdkO0OKolccllcc::;:;::,,,;:,,lllc;;;cc:,,,,,''''....                              
              ..'''.'.',',;...':ccl;:ccccc:coolllc,,cool:c;;;:;;colc;;::ccddodxdol:cdOxlcclodolollllllllcc:lodddxxk0KKKKOooc:::cdkkxkdxkddxOOxooddOO0WNXKXNNXKK0KK000O0XNXKOolodolcloool:;:k:;:cccood0Okdodxxddddddokxkk0kdkOxdkOocclclcl:cl:;;;,;,cc;:l;,;;:ll:;,,,,,''''...                               
             ...'''''',;;;;''..'ccc;cll;,;:collo;,,,:clc;,;;;;,c,;;::llcloxxolodlooddooololllolllclllodlccclok0K0XKNKXKKkclodxxxkkdcooxddooxxddxxdOdk0XNNWMMMNXKK0OOOOkOOOkOkdolcccccdocc::Ox,clllloxxlooooxdddddoookkxOOldkkdodOlcclcllc:col;;;,;loo:loc:;;:c:,;,,,;,'''....                               
              ..'''',,;;;;:;'..';;,;cll;;;:ccc;;,,,;:c:;;;::c:;:;;;;:clxkdlclldxdlclllolloooooddododkxollccccdO0KKXKXKKKKdoddddkkxddxxddddolloxxddkdxkk0XXWWN0k000OOkOkkOOOOOxccccllldl:l::kOl:llcoxxxoc::ccldooooolkkkOddOOoolxdlccllllccldc;;c::clllllc::c:c,;,,;;;'''....                                
              ..''''';;;;;;;;;;;,'.'.';:;::::;;:,;,;:c;;,;ccc::,,:ccclldddxdllxkxllcllldxkkddxxkkkxxdoollccc:cx0O0KK0OOkdodddddxkxxkxxxxxddxO0KKKKOdxkOXX0O0OOOO0OkOOOOOOkkkkxlccccclooccc;oxkcccclxxxddccc;::coollokkOkodxdlolkcllccllccclo:;;o:,:cccc::ccc;;,,,,;:,''.....                                
               ..'.'',;:::,;;,,'','''.;cclc::;;,:,'',,,,::;;;;:cc:clooolcclooodkdc::clooxxxxddxxkkOOOkdlcc:::cxkOO0kdlcccccclddkkkkkxxkkOOOKXKKXKXKOXNNKXXK0O00KkKXKKK0000OkOOko::::ooddkxlldOO:c:ccodxdcc::;;;cooooxkkxdxxollodclcolccc:clo:;;:';ccclc:::ll,,,,,;;;'......                                 
                ...'',,::;;;cc,'',;;:::clllccl:::;,,,,,;;:cllcccccclc:c::llloxxxxodddddddddxkOOkkOkkxkl;:ccc:dOXKkddoolllcldxkxllxxddxxXNNNWNNWNNNX0NNXKXXXKKXKXNNXKKKKKKK0OKkxo:::coclxkkocdOOdcccoxxxolc::c:;:llookOkxoxoollxllcllcl:::ccl;;;,';cc:;:coc:,,;,,;,;''.....                                  
..              ...',,,,;;;;;:;,.,:,;:cllolcllccllcclooddddooddoolloolllodxxdkxxxddddddddxxxxxkO0kxddx0c::cdkOxOooooolllldooool:ldodxxKNWNKXKXNNXNXKWNXXXXXNNWNNXK0KKKKXXXX00xxdc:lo:coodkxdxkkkc:cododolc::c;':ooolodxdxlllloxoldcclc::::cl;;;;,'c::::clc,;;,,;;;,'......                                  
.....            ..',',,;,:;;;::;;,'',:ccc::clclllccllc:coooccclllclcllooddolcllodxxkOO0XXKXNNNNXKXKKKNXxcccodocccclllollllooodxkxoooONWWNKOO00XKXKOXXXXXNNWWNNX00KXXXXXXK0Oxdooooolccloddloldoko:cll::ooccc:cclooolcdddooclldxdkdclc::::::;:;,,,:c:,;llc;;;;,,:;,''.....                                   
  ........       ..,;,',,,;,:;c:;;,,,,::ll:ccllccllllccclolccccll:;::cclccc::lddooddxdok0KKXXXXXXKKXNXXNXdc::lcccllllc:cloolokkkkkkdONWWNNXKKKKKK00kXKKKKXNXNNXKKKK0000O000xoc::cdl:;::llolcllllo:cl:;:olcodollllolcclllcocoloxoloocc:::::;;::,,:;;,,,;;,,;,,,:c,''......                                   
     ............ .';,'','',;:c::;;;;;cc::::::::ccccllloodocccclcclc:;;llcllc::c::c::cokkKNXKXXXXKK0K000KKollollcccclcllloooxOkxdOO0XNNWNXXXXXXXXK0x0000K0000KKXK0KO00Okkkdlldcoolc;;;:clolcccc:lc:cl,;,;;cdlc:colc:clc:llollooo::c,:c:::c:;;;;,,,',;:;,',,'';o;''......                                    
        .......'....',,'''.',,::::,;;;:c:lc:c:::cccccclloolcccllolol:;;:clllodlc::c::d0K0KXXXKKK0K00KKK000OkxdlclllllcloodxkkxddkK0XNXXXXK0O0KXXKOOx0OOxdO00OkOkkkOkkxxdlldddkkc;;l:;:::cclc:ccdkc::l;,';:loolllll:;c::cllllcloc::;;:::::c::c:,,,,,;:,,,,;',,:,''.......                                    
           .........,,',''''',,;::;;;;:lcloccc:clddocccloolloooooooolcclc:looodddoclcok00KKKXK000000KK00OOOkxdolclooloddk0kxdodkO0KXXXXXK0OO000Okkxoxdxxdxxxdddxdoololoxxkxddodc::lc;;;;:lllc:clx:c:c:;;;:lddllccll:::cllclloocc::c:::::::;:l;;;,,,:,',,;,,',,'''.......                                    
              ......',''',,,','';::;,;;ccoxdlcccodxxdxolodollloolooodoc:;;:cloodxxk0OOkOOO0OO0KK0K00OxkOkdlcclcllodxkxdkkxoooxOk0OKXXXK0kkkkkxxxxxxdkOkkkxdooddooddxdddxxocclodl:::d:;;;;ccclcc;l:::cc;;;clllll:llllclclc:ddolllol:::c::::coc::;,:;;;,,;,,',,'''........                                    
                     ','',,,';,',;:;:;;clcoxollolodxxdddoooolooooooooc:;;;:codddxkO00KK0kkO00KKK0000kxxdo:;;;lllxkxkkxxdooldO000O0KKKKK0OkxdloxxdxkdOOO0Oxlodddxxdxdxxxddlcloddl:::oc;;;;cclcc:;;:::cc;;:llllocccclldl:ll;clcclol;;:ccccclc;;,;;,,::;,;,,,,;'''..'.....                                     
                     .,,''',,;:;,;:;;;;;lcllccllloodxxddlooloooooooolc:::::::coodxOO0KK0OOOOO00K000Okoc:;;;,,:lokOOkdddllldO0OOxk0KK0OOxolldodddxdxdO0kdlclxkkkxxxdddddl:::l:oodl:cll:;,,;ccc:c:;:::locclcc::cclclcldolc::llcll:c::::cccl:;;;;:;;::;;c;,;,;,'''.,''....                                     
                     .',,''',,,;;,;;,,,,:clllccccloddoloollllllllooooolllc:;;:loodk0K00OO0000KKKKOdlccl;,;;::cooodddc:::lO0OkdxkkOOxooo:clccloddxxOoxlclloxkxxkxdoddoccl:cdolo:ol::coc::ccccc:::;clcloclccc;;,;;:lccloocooodlcllc;;:c::c;:;;;::ll:;;c:,:;;,''''',''... .                                    
                     ...''''''',,;',,,,,,::oocccclldocccllcoooollllloolloooc::;:loooxkkOO000O0OOxlccc:::;;:cclloddcccclkXX0xddooddoollccooododo:ldkoolocccllllllloollcclcoocllc:ol::ccccccc:c:::::::ll:cccc;:;;:;;;codlllxkkoc::;;;::c::c;;;:ccl:;;::;;;,;''''''.....   ..                                  
                  .    .';,''''',,'',,,;;;;cooc:ccccccccclllooooololllloddloddlccccoxxxkO00OkOxl;;;::;::::;oolclc::::oOKOOxlcccllllcclloolodddOd;:lodclooc:::ccccodollllolccclolclc::llcccc;:c:;:::cclccccc:ccc::cll:;;llo:cc:;;;;;:l::c:,,,cc::,;:;,;;;;'','',..'..      .                                 
                         '',',,',,'.',,,;;:;occ;;:::ccllcllccooooollooooddlodocc:::dkkkkkxxOd:,,,,;;:;;;;,:ooll::;:lkkddlooc::llllooolooclodxxxxkxdlddolllloooc:ccccldoooollcllloolcc:cc::cc;:c::::::c:ccllclcllol:;::cc::c::,,;:;::c:cc:,,;c::;,:;;;;;;',,''''....                                         
                          .'''',;''....,,,,;;,,,,;;::cclccclcllllooooooloddool:ccloloddoddl;''',,,;;;;;;::collloxO0K0kdoolc:clodooooll:cdxkkdodkkOddd;:;;c;;llolccccccodooolllllolc;;cccc::::;:::::::c:ccclc:;clc;;::;:::::;,,;::::,:;::,,,;c:',c:;;;;,''','''....                                          
                           .''',''''....',;,;;;;,;;;;;::ccccccllllllloolloooolcc::cclooo:''''',;;,,,;;ll:clccxxOkOKX0dlll:;:olc::lloodddxxdoddddllc:;,;:::::llllooolccclooooolcccllccc;lc:::;,;:::;:ccccc:ccc:cc:c::c::::;;;;;;:;;::,;::'''::',c:,;,;;''''''''...                                           
                            ..,,''''''...',,,,,,,;;,;;;;::::clcoolllloolcollloodollllo:;;;;,,,,;,';cldx:;:clooclxoollllclccc:;,;:cccloooddoddoooddo:;,;:;c;looooodoooolccllloooolcclc:clc:c::,;cc:::ccc:::ccc::ccc::;::;,;;::;::;;;',:c,,,,:';:;,:,;:,'''''',,...                                           
                             ..,'',,,,'.,;;;;,,',,,;;;,;;;:::::cllllllllcc::clllc:::;'..',:cll:c;:llldlc:;;;:cldlocclllccl:;;c:::ccloodddoooloooooo:;,:cllloooodddooooollllllooooolcl:;;;;;:::::c:::locccccc:l:c;;,:cc;,;::::;;;;,',:::',';,,;,;;,;;''.''''''...                                            
                               .',',,,,'',;::'',;,,;;;;,;;;;:;:::cccclllcc:c:cll:;:,''''',,'',,collloollcl:::looodxlcclcll:clccloooddddddlllooooooolooooxdlollooooolloololllooodoollccc;;,,;:;;:c;;:;l::l::::c;;;c:ccll;;:;;,,;,,',;cc;,',,,,,;,;;,''''''......                                             
                                 ..''',',,,::,,,;,',:c::;,,;;;;::::::lllclccooccl:,'',''''''',clcclloooooolclloodddxdoddoooodddlloooooollllooolllloolddooolllcoollolclcllllllooooool:;;,,;;;;::::;c;;c:cc:ccc:;;cc:ccll:,;,,,,,'',;;::,'',,,',,;,''''''........                                     .       
                  ...             .'''''.';;;;;;',,,;c:ccc:;,,;;;:c:::ccccllclll:,,....''':cllllllllooooolc:ccloooollllloxOkdlcclllooolllllllllcodddlddddlc::cdollllclc::cclooodoolc:;,,'..'';:::::,;:c;:cc:::::c:::::c:;,,,,,',,,',;,,',,',',;,'.''''.....','..                                  ..   .... 
                       ..          ....''.,:;,,;;',,:;:;clcc:;;;;,;c:;:cclccl:;'.''.....':cccllcccccc::;;,,',;clllllcc:::ldolllllloooollcllllldodddxloollc::::l::cclccl:::::cccccc:::;;,,...';;;;;,,;c:,;::;c::c:::c:;;;;,,,,,;'',;,,'',,',',;,'''...............                            . ...         .
                          ..         ....',,,'',;;'',;:::;:clcc:;,'''';;:lll;',''..,,..';ccccccccllcccc;,,,,;,:clllccc::::clllllloollllccccodolcooollclc:;;;;;;;;;;::c:::::cc:::;,;:;;;,;,'',;;;::,':c;;::;;:::;;;;:;;;;,,,,;,'';;;'''';,',,,''''.....'..'.                                ....             
                              .      .....',,,,;;:;',;;;:;;;cccc:;;,''';;::,'..''',;;,;::::ccccclllccccc::;;::;clcccc::clllllooooolllcc:clllclllllollcooc;:;;:;;;;::;;:::::col:c::;;;;:c:;,;;::;;;,':;;;;;,cl:::::;;::;;,,,,'',;;;'''';''','''''....''....                               .  .               
                                   . .......';,;,;;,',,;;:c;;::::;;;,,,,,''......':c;,:;,,::cc::oxddddooc::;:;;;cccccclollllllloolllccccccccccclllollcoo:;:c:::;;;;:;;;;;:;:cc:;::;;;:;::;,,,;;;;;,,;,;;;;;c:clc:;;;;,,',',,'','''...''.''',,......'..',.                             ....                  
                                         ....','.'':;,,;;;;;;;;;;,,,,;;;,,''....':llc;....'';;'..,:::;clcc::c:;::cccccclccccl:clllllcccccccclccllllccllolloocccc:c::::::::;:cc::::;;;;;;;:,'',,,,,',,;;;;;::c:;;;,,,,,,;;,,,;,''''',;'''''.'.........'.  .                         ....                     
                                          ....,;,'',;;,,,,,;,'',;;,,,,,,,'.......::::'...............,;::c::c:;:;;::::ccccclc;;,;;ccccllllccccccccclolccccclccccc:::::;;;;;,;;;;;;;;;;;;;,,,'..'.'',,,,;;::::;;;,,,,,;;;,,,,;''''',,...''..........''.                           ...                        
                                            ..',;;,''',,,,,,;:,'''',,'...;;'....;;;:c,,,,,'''....''.....';:::;::;;;;;;;::cclcc;,';::clollccccllcclcclc::ccccccccc::::;;;;:;;;;,,,,;;;,,,,,,,,,,,.',,,,,;;;;,,,,',,,,,,,,,,..''''''',.............''.                            .....                       
                                         ..   .,,,,,,,,',,,,,,,;,''''''',::;;;;;:::c:,,;;,;;;,,;,,,,;,,,'':c::::::::::::llcc:c:;:ccc::lccccclcccllc::cllllc::;;::::::;;;;;;;;;;;;;:c:;,,,;,c;',,,,;,,,,,;;,''',,,,,''''',,'''','',,,.........  ...                            ..  ..                        
                                           ...  .','',',,;,'',,;:;,,'',;;;;::;;:::ccc;;,''''',,,,',;;;;;;;:cclllloolloooolc::::lc:::::::lccccc:::c:::cllldlc;;;;;;;;::;;;;;;;;;;:;;;,,,,;;:c,',,,,,,,,,,,',',,,,,'.''',;..,'''.............  ..                              .                              
                                             ....';;,',;',,'''',,;::::;,;;;::::ccc::;'''''''.'',,',,;:c::;,;;;;;,,,,;:oool;;:ldc::c;:::cccc:::;;:::;:c:::ll:;;,,,,;;;,,,,,,,;;::;;,,',,,,',,,,:;;'',',',,'',,,''.'',',,.'''''...........                                    .                               
                                                ...cl:,''',;,''',;;:::c:;;,,;:::c:;,''''',,,,,;;;;::;;:clc;,,;;;:;''.,:ccc;;:lxlcc;,:::::::::;;;;;;;;;;;;:c;,,,,,,,,;;,,,,;,,;;;,,;;''''''''',,''''',,,',','''''''',,'''..............                                                                      
                                                  .,:cc:,,',,;,''',,;;;;:;;,;;;,;'''''.'''',:;;;;:ccccc:;;::ccc;,::;',:::::::ccc;:;':::c::::c;;;;;;;,;;;;;;;,,;,;;;,,,,,,,,,;;;;;;,,''''',''',''.'''',,'''''''',;,,'.......'..........                                                                      
                                                    ..,:c'..',,,'''',,;;:::::;;,''''','.,,;:;,;;::::cc:::oll;,::,,,;,':;;;:::;;:;;:,::::;:::;;,,,;;,,,;;;;;;;;,,,;;;,,,,,,;,;;;;,'''.''','',,,''..''','''..''...''........'.............                                                                    
                                                       ..',....'..'''',,;,,,::::;,'''''',;;;,,;ccc:cc::lxkkddl:;,,,,,;;;;;;;;,;;;;l::::;;,,,,,,,,,,,,,;;;;;,,,,',,,,,,;;;;,,;;,,,''....''',,,'..'''''''''.''.''...........................                                                                  
                                                          .......''''',,,,;;,,;:c:;'...'.'''...,:lcccoxddxxdol:;,,,,,,,,,;;;;;,,,;:::;,:;,,,'',,,;;,',,:;,,,;,,',,,,,,,,,;;,,,,'',,,;:c,.',,'...'''''''..''..::;,'.....'....................                                                                
                                                         .'..'.....'''',,'',:c:;::;;,''..''.....'cododddollcc:;,,,,,,,,,,;,,,,,::;;,;,;::,,,,,;,,;,,,,;;,,,,,,''',,'''',,,,,,'''',,,;cc;'''..'.'''''.'..'''...........''....'''...............                                                              
                                                         .   ........'',',,''',::;;;;;;;,..'',,,'';:odllooll::,,,,,,,,,,;;;;;;;;:;;;,,,;;;;,,,,,;;;;,,;,,,,,,,,'...'',,,,'',,,,,,,,;,,,,'..'''.''''...'''......'....... ........................                                                            
                                                                  .......''''',,,,;::::;;;;,'......';;::ccc:;;,',,'',,,;;;;:;,;,,:cc;;,;;;;,,,;::;;,,,,',,,'''''''''',,'''',,,',,',,;;,'.'''''.'..'.''''.............. .............................                                                        
                                                                    ......''...',;,,,,,;;::::;;''''''',,,,,,'.'',,,,:c::::;:;;;::::::,,,,,,,;;;:;;,,,,',,,',,;:,,,,,,,,,,'',,,;;,;:,'''.'''''.....'''....''............'..............................                                                      
                                                                     ..    ..'..'..,,,;;;'',;;:;;;;;;,;;;;,..,,;:::::;:::;;,,;;::;'';,'',,,'',;,'''''',,,,,;;;,,'',,,;;,,;;:lolc:'...'.'''...............'............'''.............................                                                      
                                                                            ..........''',,,,''',,;;;;;::;::;;:;;;;;;;;;;,';;;;,,;,''''''',;;,,,;;'';c,,;::::;;,;;,;,,:clccl:;,''..............................''.....'..'............................                                                      
                                                                                ...'..''''..'',''''''',,;;;::;;;,,;;:::::;;;;;;;;,,''''',,,,,,,,;;;'::;;;:::;;;,,;:clool:,,''.''...........................'...''....'''''..............................                                                    
                                                                                   ''......'...'''''''',''''',',,,;;;:cccccccc::;;;,,,,,,:cclc:;,,,,;;::cocloololc:;,,'''....................''........'''...........'''..'..............................                                                   
                                                                                   .'''''   ......'''...',,,,,,,,,,,'',,,;;;;,;:;;::;,;;::cclooooooolllcc:;;,;,'.......................''''''''''''.............'.''''...................................                                                   
                                                                                   .......          ......'.'''...........'''''.''',,''''''''''.....''''''.'''''''''''...........'''''''''''''''''''''''''''''.....''.....................................                                                  
                                                                                    ......                ....................'....'''''''....''''''''''''''''',,''''.......'''''''''''''''''''..''''''''''''''.'.........................................                                                  
                                                                                    ......                     .........................''....................''.'''''''''''''''''''''''''''''''''''''''''.....'..........................................                                                  
                                                                                    ......                               ..        .......   ..  ..''''''''''''''''''''''''''''''''''''''''''''''''''''''................................................                                                   
                                                                                     .....                                                        ..''''''''''''''''''''''''''''''''''''''''''''''''''''.................................................                                                   
                                                                                      ....                                                         ..'''''''..''''''''''''''''''''''''''''''''''''...'..................................................                                                    
                                                                                       .....                                                         ..'''''''''''''''''''''''''''''''''''''''..........................................................                                                    
                                                                                         ....                                                         ..'''''''''''''''''''''''.'''...''................................................................                                                    
                                                                                          ...                                                          ..'''''''''''''''''''''....'.....................................................................                                                    
                                                                                           ...                                                          ..''''''''''''''.'''...........................................................................                                                     
                                                                                               .                                                     ..  .''''''''''..'...''..........................................................................                                                      
                                                                                                                                                     .   ...''''''''''.'''.........''.................................................................                                                      
                                                                                                                                                         ....''''..'''''............................... ..............................................                                                      
                                                                                                                                                          . ..'''...'................................................................................                                                       
                                                                                                                                                           .........................................................................................                                                        
                                                                                                                                                          .........................................................................................                                                         
                                                                                                                                                               ..................................................................................                                                           
                                                                                                                                                                ............................................................................                                                                
                                                                                                                                                                ........................................................................                                                                    
                                                                                                                                                            .    ....................................................................                                                                       
                                                                                                                                                                  ...................................................  ..........                                                                           
                                                                                                                                                                   ...........................................................                                                                              
                                                                                                                                                                   ......................................................  .                                                                                
                                                                                                                                                                   ...............................................    . .                                                                                   
                                                                                                                                                                   ..............................................                                                                                           
                                                                                                                                                                    ........................................ ..                                                                                             
                                                                                                                                                                    .....................................                                                                                                   
                                                                                                                                                                    ....................................                                                                                                    
                                                                                                                                                                    ..............................                                                                                                          
                                                                                                                                                                    ......................  ...