;dddxxkOKXXNNNNNNNNNNNNNNX0OOkkxxxdddoollc:;,,'...   .;cllllllcccc:ccloxkk0XNNNNNK0kxdddddddddoc'.      .',;;::::ccllloooddxxkO0KXNNNNNNNNNNXKK00Okkkxdo,                                                                         
                                                                          ;dodxkO0KXXNNNNNNNNNNNXXKOkkxxdddoollc:;,,..'.....   .,cllllllcccc:ccloxkO0XNNNNNX0kxdddddddddol,...........'''',,;;:lllooodddxxk0KXNNNNNNNNXKK00OOkkxdo,                                                                         
                                                                          ;oodxk00KXXNNNNNNNNNNXXKOxxdoolllc:;,,'......        .;ccllllllccc:ccloxkO0XNNNNNX0kxdddddddddol,.   ...   ........',::::cloooddxOKKXXNNNNNNXKK00OOkkxdo;                                                                         
                                                                          ;ooddxkO0KXNNNNNNNNNXKK0kdoc'......  .               .;clllllllcc::ccloxkO0XNNNNNK0kxdddddddddol,.              .   ......':cllldO0KKKXNNNNNXKK00Okkkxdo;                                                                         
                                                                       ...:ooddxkkO0XNNNNNNNNXX0Okdol;.                       ..;cllllllccc::ccllxkO0XNNNNNK0kxddddddddddo;.                        .,:clloxO000KXNNNNXXK00Okkkxdo;.                                                                        
                                                                    'looooododdxxkO0KNNNNNNNXK0Okxo:,.                       ':lolllllllccc::ccllxkO0XNNNNNX0kxddddddddddxxocc'                     ....;cldkOO0KXNNNNNXK0OOkkkxdddoooc.                                                                    
                                                              .;ldxxkOkkkxdddddxxkO0KXNNNNNXK00Okxl.   ................. ...'oOOxdoollllccc:cccllxkO0XNNNNNX0kxdddddddddxk0KKKo.   ..................   .:ldkOOO0KXNNNXXK0OkkkkxddkO00Oxolc:,.                                                              
                                                            .lOXXXXXKOkkxc:odddxxkkO0XNNNNNXK0OOkxl. ....................':ld0KOxdoollllccc:cccllxkO0XNNNNNX0kxddddddddxxk0KXX0xc;'................... ..:loxOOO0KXNNNXK0OkkkxxxddxOXNNNNNXK0o'                                                             
                                                         .;lkKXXXXXK0Okxd:;loddxxkkO0KXXXNNX00OOkxc'..............'''''''o0KXXKOdooollllccc:cccllxkO0XNNNNNX0kxdddddddxxxkO0KXXXKOc,;;,..................;coxOOO0KXNNNXK0OkxxxxxddxOKNNNNNNNX0xdl.                                                          
                                                        .l0XNNNNXXXKOkxxo:;lodddxxxkOOKXXXXK0OOkxdc'...............,ccoxk0XKK0OxooooollloolccccloxkO0XNNNNNX0OxxxxdddddxxxkOKXXXXX0kkxl'.................;cldkkkO0XXXXXKOkkxxxxxdxkOKXNNNNNNNNXXKo'.                                                        
                                                      .:oOXNNNNNNXXKOkxdo;,codddddxxkkO0KXXKOkxxdl:'...........':llxKKXXXXXK0OxdooooooodkOOdcclloxkO0XNNNNNX0OO0K0kxxxxxxxxkO0KXXNNNXX0dlll;.............;lldxxkOKXXXKK0OkxxxxdolokO0XXNNNNNNNNNXKOl'                                                       
                                                      :kOKNNNNNNNNX0Okxdo;',;:cldddxxxkO0KXK0Oxxdl:'.......','.,xXXXNXXXXK0OkdddoooodxOKXXKkdooodxkk0XNNNNNXKKKXNXK0OkxxxxxxxkO0KXXNNNNNXX0d:,,'.........;lldxkO0KXXK00Okxxxddol;cxk0KXXNNNNNNNNXX0x;                                                       
                                                      :O0XNNNNNNNNX0kkxdo;''''':oddddxxkO0KKKOkxdl:'.......:oddxKNNNNNXXK0kxdddddddkOKXNNX0xoooodxkk0XNNNNNXXKKXNNNNXK0OkxxxxxkkO0KXNNNNNNNXXKOo,........;cldxO0KKXK0OOkxxxddol:,:dxOKXXNNNNNNNNXXKx;                                                       
                                                      :O0XNNNNNNNNX0Okxdl;.'''';oooodddxkO0KK0Okxol,......,dKXXNNNNNNXKK0kxxxxxxkOKXXNNNNXOocccodxkk0XNNNNNXK00KXNNNNNXXK0OkxxxxkO0KXNNNNNNNNX0kc.......':loxO0KKK0OOkxxdddolc;,':xk0KXNNNNNNNNNXXKk:                                                       
                                                      :O0XNNNNNNNNXKOkxdl;.....,cooooddddxkO0KK0kxdc,.....,dkOKXNNNNNXK00OkkOO0KXXNNNNNXX0kocclodxkk0XNNNNNXKOO0XNNNNNNNNXXK0OOkkO00KXNNNNNNNNXKx;.....';loxO0K00OOkxxxddoo:,,,''lkOKXNNNNNNNNNNXXKx,                                                       
                                                      'ldOXNNNNNNNNX0Okdo:,'....,;:looooddxkOO0KKOkxoc,.....'lOKNNNNNNXKKKKKXXXNNNNNNNNXKOxocclodxkk0XNNNNNX0OOOKXNNNNNNNNNNXXXKKKKKXXNNNNNNNKxl;'....,:odxO000OOkkxxxdoool;''':ok0KXXNNNNNNNNNNXXk:.                                                       
                                                        .cx0XNNNNNNNXK0kxdo:......'cooooooodxkO0KK0Okkdlc,...lOKXXXNNNNNNNNNNNNNNNNNXXXK0kdlcclodxkk0XNNNNNX0kxxOKXXNNNNNNNNNNNNXXXXNNNNNNNNNKk:..';codkkOOOOkkkkxxdddoolc:'...cx0KXXXNNNNNNNNNX0Oo'                                                        
                                                    ..':;..;xKXNNNNNNXXKOkxo;,'....:llooooooodxkO0000OO00k:',;clodxKNNNNNNNNNNNNNNNXXK0Oxdoccccodxkk0XNNNNNX0kdoxO0KKXXNNNNNNNNNNNNNNNNNNKkddol;''ck00O000OOkkxxxxddooolc,....,lk0KXXNNNNNNNNNN0o:,.,l:                                                     
                                                  .lkO00kl,':loOXNNNNNNNX0kxdl;....',,,:loooooddxxkO000KKKOkOOOOOOOKNNNNNNNNNNNNXXXK0Okdolc::ccldxkO0XNNNNNX0klccoxkO0KKXXXNNNNNNNNNNNNNNKkkkOOkxk00KK0Okkxxxxddddooocc:;.....;dk0KXNNNNNNNNNKkdc,,ckKOc'.                                                  
                                                ..c0XXXXK0xc,'':xKXNNNNNNX0kxo;........;lllllooodddxxxkO00KKXNNNXXNNNNNNNNNNXXXXKK0Oxxdlc::::ccodxkO0XNNNNNX0xc,,;:lxkO00KXXXNNNNNNNNNNNNNNNNNNXKK0OOkxxxddddddddool:'........:dO0KXNNNNNNNXKkc,,:oOXXXXK0c.                                                
                                               .ok0XXNNX00kxoc,';oOKXNNNNNXKOx:........,:cccccclooododddddxk0XXNNNNNNNNXXXXXKK00Okxdolc:;;;:cllodxkO0XXNNNNXKkc,'',:cloxkOO0KKXXXXNNNNNNNXXXXKK0kkxdddddddddoooolc;'..   ...';okKXXXNNNNXXKOd:,;cdOXNNNNNNOc'.                                              
                                              ,o0XXXXXXK0Okxxd:'.,lxOKXNNNNXK0kool;.....'',:c:::clooooooooodxO00KKKKKKKK000Okkxxdoc::;;;;;:lxOkddxkO0XNNNNNXXKkl'.,,,;;cloxkkO00KKKKKKXXXKKK00Okxddoooooooollllc;,'... .,:cook0XNNNNNNXKKOdc;..cdx0XXXNNNNXX0:                                              
                                             ;OKXXXXXXK00Okxxdl,..,cdxOKNNNNNXXK0Oxc'.....',,,,',,:llllllloodxxxkkkkkkkxxxdoollc::;;;;;;:clkKKkddxkO0XNNNNNXXXXOllc,,,,,;:loddxkkkkkOOOOOkkkxxxdoooooollolcc:;,'.......'oOO0XXNNNNNNXXK0kd:''';odxOXXXXNNNNXXx,.                                            
                                            .oXXXXXXXK00OOkxxdo;..':lldO0KNNNNNNXXK0xl:'...''''''',;clccllllllllllllllllcc:::::;;;;;;;;:d0KKX0kddxkO0XNNNNNNNNXXKKkl:;,,,,,;;;:llooooooollllllllllllccccc:,''........,:d0KXNNNNNNNNXK0Oxdc;'';codxOKKXXNNNNNXKOc                                            
                                          ':lOXXXXXXK00OOOkxxdo:..';cccldk0XNNNNNNNXXKkc;:;'''''''',;;:::::::;;;;;;;;;;;;;;;;;;;;;;:clld0XNXX0xodxkO0XNNNNNNXXNNNXXKOxl,,,,,,,,;;;::::::::::::::::::;;;,,''''....,,,ck0XXNNNNNNNNXX0Oxdolc;',clodxk00KXNNNNNNXXx'.                                          
                                         .lOKXXXXXXK0OOOOkkxxdoc'.';:::ccldk0KXNNNNNNNXK0Kx:;;;,,,',,,,,,,,,,,,,,,,,,,,,,;;,;;;::cdkOKKKXNNXXOdooxkO0XNNNNNXKKXNNNNNXXOoolc;,,,,,,,,,,,,,,,,,,,,,,,,,,,'''''''',;okOKXNNNNNNNNNXX0Oxdoollc;';loodxkOO0KXXNNNNNNK0o.                                         
                                         ;OXXXXXKK0OOOkkkkxxddol,.';:::ccccldOKKXNNNNNNNNXKOdol::::;;;,,,,,,,,,,,,,,,,,,,,,,;:lddkXNNNNNNNXKOxoooxkO0XNNNNNXK0KXNNNNNNNXXKkoc::;;,,,,,,,,,,,,,,,,,,,,,,,,,,,;;:ox0XNNNNNNNNNNXK0Okdooolllc;.,:loddxkkOO0KXNNNNNNN0,                                         
                                         lKXXXXXK0OOOkkkkkxxddl;'.,;:::cc::ccok0KKXXNNNNNNNXXKOkkOko::::::;;;;,;;;;;;;;;;;cllkKXXXNNNNNNXX0OxolloxkO0XNNNNNXK00KXNNNNNNNNNXX0kxool:;;;;,,,,,,,,,,,,,,,,;;::clox0XNNNNNNNNNXXK0Okxdoooooolc,.';coddxxkkkO0KXNNNNNNXx.                                        
                                        .oKXXXXK00OOkkkkkkxddo;...,:::cccc:cccldxO0KXXXNNNNNNNNNXXX0kxdddddl:;;:::::::coooOKKXNNNNNNNNXXKOdoollloxkOKXNNNNNX00OO0KXXNNNNNNNNNXK00kxdxo:;,,,,,,,,,,,;;;;cdkO00KXNNNNNNNNXXXK0Okxdoooooooolc'..,coodxxxkkOO0KXNNNNNX0:                                        
                                       'oOXXXXXK0OOkkkkkxxxddl;. .,::ccccccccccccodk0KKKXXNNNNNNNNNNNXXXXXXOolloooooddOXXXNNNNNNNNNNXK0OkdcclllloxkOKXNNNNNX0kxxk00KKXXXNNNNNNNNNNXXX0dcccccccccccloxxkOXXNNNNNNNNNNXXK00Oxxdollooooooollc,...,codxxxkkkO00XXNNNNXKc                                        
                                       c0XXXXXXK0OOkkkkxxxxo:;'...;::ccllllcccccccldxkO00KKKXXXNNNNNNNNNNNNXKKKKKKKKXXNNNNNNNNNNXXXK0Okxdc;:lllloxk0KXNNNNNX0xooodxkO0KKXXNNNNNNNNNNNXK0000OO00000KXNNNNNNNNNNNNXXXK0Okxddolllllooooooollc,...';clodxxkkOO0KXNNNNXKx:.                                      
                                      .l0XXXXXXK0Okkkkxxdoc:'.....',:cclolllccc:ccclodxkkOO00KKKXXXXXNNNNNNNNNNNNNNNNNNXXXXXXXXKK0Okxxdo:'':lllodxk0KXNNNNNKOxolccloxkkO00KKXXXXNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXKK0OOkkxollllllllloooooolc;,.  ...',codxxxkOO0KXNNNNXXO;                                      
                                      .lKXXXXXXK0Okkkxxdoc;'...   ..,:cloolllcccccccclloodddxxOO000KKKKKKKKXXKKKKXXXXXKKKK000OOkxdddoolc,',clloodxO0KXNNNNNKOxolc;,:oodxkkOOO0000KKKKXXXXXXXXXXXXXXXXXXKK00OOkkkxxddollcccllllloooooool;.    ...'';lddxxkkOO0KNNNNNX0:                                      
                                      .lKXXXXXXKOOkkkxxdoc;,....   ..;:clllllccccccccccclloooodxxkkOOOOOOOOOOOOOOOOOOOOOkkkkxdddoolooooc,';loooddxO0KXNNNNNKOxdol:',coodddxxxxxkkkOOOOOOO0000000OOOOOOOOkkkxxdddoollccccccllloooooooolc,.   .....',coddxkkkO0KXNNNNX0c                                      
                                      .oKXXXXXK0OOkkxxxdoc,....      ..,coollcccccccccccclllllooodddddxxxxxxxxxxxxxxxxxddooollllllllooo:'':loodddxO0KXNNNNNK0kxdol,.:llooodollooodddxxxxxkkkkkkkkkxxxxxxxdddolcccccccccccllooooooolc:'..    ......'coddxxkkOOKXXNNXXKl                                      
                                 .;,..ckKXXXXXK0Okkkxxxdlc,..           .,:lllllllllcccccccccccclllllllllllloddoollllllllcccccccllcllc:,.'coodddxxO0KXNNNNNK0kxddo;.';:clllllcccccllloooooooooddddollllllllllccccccccccllooooooolc:'           ...,coddxxkkkOKXXXXXXKo.,c:.                                 
                                 ,xxclOKXXXXXXK0Okkkxxxdll:'.             .:ooooooollcccccccccccccccccccccccloolccccccccccccccccccllcc,'';coddddxxO0KXNNNNNK0kxxddc'.'',ccccccccccccccccccccclloolccccccccccccccccccclllooooooooc'              .:loddddxkkkOKXXXXXXXkdO0k,                                 
                              .,:x00xd0KXXXXXXK0Okkkxxxdlc,                ..'cdooolllllllllcccccccccccccccclllcccccccccccccccccccllc:..,:loodddxxO0KXNNNNNK0kxxxdl,...';:cccccccccccccccccccclllccccccccccccccccllllooooooooc;'.               .,loodddxkkkOKXXXXXXXKKKKKkc,,.                             
                         ..,;lx0KXXK0O00KXXXXXK0Okkxxxddol,                   .;;:clllooolllccccccccccccclllllcccccccccccccccccccc:;;'..,cloodddxxO0KXNNNNNK0kxxxxdl;....';:cccccccccccccccclllllccccccccccccccclloooddoolc:'.                  .,loodddxkkkOKXXXXXX0O0KXXKKK0d;..                          
                       .'oO0KKXXXKK0kxddOKXXXXK0Okkxxxddol,                        ...:oooollllccccccccccllcccccccccccccccccccccc:.....';cloodddxkO0KXNNNNNK0kkxxxxdc'.. ..;;:cccccccclccccllllllccccccccccccllllooodd:...                       ,ooodddxkkkOKXXXXXKkdxOKKXXXXXK0ko,.                       
                     .cxOKXXXXXXK0OkdolcxKXXXXK0Okkxxxdool;.                          ,ccllllllllllccccccccccccccccccccccccc:;;,,..   .,:lloddddxkO0KXNNNNNK0kkxxxxxdl:. ....';::ccccclcccccccccccccccccllllooooollc:;.                          ;oooddxxkOO0KXXXXXKkdxkO0KXXXXXXXK0kc.                     
                    ;x0KKKKK000OkxddolllxKXXXXXKK0Okxxdoolc'                             ...,cllllllllccccccccccccccccccccc;.....    .,:clloddddxkO0KXNNNNNK0kkxxxxxxxo,. ......',:cccccccccccccccllllllloooooc;....                           .':oooodxO00KKKXXXXK0xooddxkOKXXNNNNXXKk:                    
                   .oOOkkkkxdddddooolcc:lxk0KXXXX0Okxxdoolc'                                 ..',;:::cccccccccccccc:::;;,'..         ':clloodddxxkO0KXNNNNNK0kkxxxxxxxdc'.      ...',;;::cccccccccccccccc::;,..                                ';clooodxO0KKKXXXK0kdlclooodxkOOO00KKK00x'                   
                  .:xkxxddddooooooollcc:;:lx0KXXXKOOkxdollc,...                                     .,;:::::::::::;'...            .,:lllodddddxxkO0KXNNNNNK0kkxxxxxxxxdc.          .....,::::::::::cc:..                                   ...,,clooodxOKKKXXKK0kl:;:llllooddddxxkkkkkk:.                  
                 .loddddooooolllllllccc:;;lxO0XXXKK0kxdlll:,,,,'...                                  ...............            ...'cllooodddddxxkO0KXNNNNNK0kxxxxxxxxxxo,.....         ................                                 ..',,,,,cooodxk0KKXXXKK0xl:;:clllllllooodddddxxoc'                 
                 'looooooooollllllllcccc;;cxO0KXXXXKOxdlll:,,'',,,,''''.                         ....                       .....'';lloooddddddxxkO0KXNNNNNK0kxxxxxxxxxxdc,........                     ....                       ..'''',,,,,,,;cooddkOKKXXXXKK0xc;;:cclllllllllooooooddl'                 
                 'ooooooooolllllcccccc::;;:ldx0XXXXKOkdollc;,,,;cooc;,;;'.                   .  .'..                    .........;:clloodddddddxxxO0KXNNNNNK0kxxxxxxxxxxddc'............                .....                     .,::::::::;,,,;codxkOKKKXXXK0Odc:;;;:ccccclllllllooooool'                 
                 'oddoooooolllllc::::;;;;;;;;lkKXXXK0kxxdol;,;;;:cc:;,,,;'.                 .'......                ............,clllooodddddddxxxO0KXNNNNNK0kxxxxxxxxxxxdl;'............                ...'''.               ...';::c::::::,',:ldxkO0KKKXXXK0kl:;;;;:::::ccllllllooooool'                 
                 .:ccccc::clllllcc:::;;;;;;;;cxKKKKXKK00Oxl;,,,,,,,,,,,,,'',,'.            ..'''....             ..............:lllooooddddddddxxxO0KXNNNNNK0kxxxxxxxxxxxddll:...............            ....'''.            .',,'',;,,,,,,,,,,,ck000KKKKXXXXK0xc;;;;::::::cclllolc:::::::.                 
                         .':ccccc:c::::;;;;;;:oxkkOKXKKK0Oo;,,,,,,,,,,'',,,,,,'..       ....''''.              ...............'coooooodddddddddxxxk0KXNNNNNK0kxxxxxxxxxxxdddd:................            ...''''...     ....'',,,,''''','',,,,;l0KKKKKKKKKKKOko:;;;:::::c:::cccl:.                         
                            .....,clcc::;;;;;;ldxxkKXKKXK0Oxc,,,,,,,,,,''',,;;;;,,',,,...''''''..        ...................,ccoooooodddddddddxxxkO0KXNNNNNK0kxxxxxxxxxxxxdddlc:'....................      ..',,,'....',,,,,,,'''',,,;;;;;,,,,;cd0KKKKKKKKK0Odc:;;;;:::ccl;.    .                           
                                 .',;:c:;;;;;;:lodx0KXXXXXKKd;,,;;;;,,,''.',;;;,,,,;;;;'...''''...    ......................:ooooodddddddddddxxxxkO0KXNNNNNK0kxxxxxxxxxxxxdddddo;.....................    ...'','...,;;,,;;;;,,''''';::::;,,,;dO0KXXXXXKK0Okxdc;;;;:::'..'.                                 
                                     ,c:;;;;;;;:lodk0XXXXXXKOo:,,,,,,,,,'''',;;;,:c:,,'...'''''...........................,;coddddddddddddddxxxkkkO0KXNNNNNK0kxxxxxxxxxxxxxxdddo:,,...........................',,'..',;;;:cc:;,'','',,,,,,,,;lk0KXXXXXXKK0kdoc:;;:::c;.                                     
                                     ,c:;;;;;,;;:lodk0KXXXXXX0kc,,,,,,;;,'''';c;',:;,''...''''''..........................coodddddddddddxxddxxkkkkO0KXNNNNNX0Okxxxxxxxxxxxxxdddoodc..........................',,,,...',,,;::;;,''''',,,,,,,;lkKKXXXXXXKK0Okoc:;;;;::c;.                                     
                                     ,c:;;;;,,,,;cloxO0XXXXXXX0o:,,,,,,,,'''',,,''''''....'''.....''.....................,ldddddddddddxxxxxxxxkkOO0KXNNNNNNX0Okxxxxxxxxxxxxxxdddddc.....................''.....'''....''''',,,''.'''''',,;:lOXXXXXXXXK0kxdoc:;;;;;::c;.                                     
                                     'c:;;;;,,,,;;cloxk0KXXNXXXKkl,',,,,,,,,''''.........',,''...,;;;,.................:cldddddddddxxxxxxxxxxkkO0KXXXNNNNNNXX0Okxxxxxxxxxxxxxxddddl::;................',;;,...''',,'.........''',,,,,,'',cdOXXXXXXXXK0kxolc:;;;;;;::c;.                                     
                                     ,cc:;;;,,,,;;:ccoxkO0KXXXXXXOo;,,'''................'''''''.',,;,'................:dxxxxxxxxxxxxxxxxkkkkkkO0KXXNNNNNNNNXKOkkkkkkxxxxxxxxxxdddddd:................',,,'..''''''...............'',,,,ckXXXXXXXXXK0kxolc:;;;;;;;::c;.                                     
                                     'lc:;;;;,,,;;;;;codxk0KXXNNXXKOd:'..................''''''''''''',;;;,..'''...;cccldxxkkxxxxxxxxkkkkkkOOOOO0KXXNNNNNNNNXK0OOkkkkkkxxxxxxxxxxxxxdc:l:'...''''',;:;,''''''''''...................',:oOXXXXXXKKK0Okdolc:;;;;;;;;:cc:.                                     
                                     .;:c:;;;;;,;;;;:ccloxkO0KXXXXXXKkl,'''..''''.......',,'..';lddl::dO00kc;ldxxdccxkkkxxxxkOOOkkkkkOOOO000OOO00KXNNNNNNNNNNXXK000OOOOkxxxkkkkkkxxkkOOkdccodddc:okOOxc;:lol;''''''.......'''.....'':dOKXXXXXXK0Okkxdolc:;;;;;;;;;:cc;.                                     
                                      .,cc:;;;;;;;;;;;::lloxkO0KXXXXXX0kl;,'''',''.......,,,'.'lkOOxxxOK000kxkkOOOxdxkkkkkkkkOO0OOOOOO0KKKKKKKKKKXNNNNNNNNNNNNNXXXXXXK0OOkOOOOkkkkkkOOkxodOOOOkdxO000Oxddxkkl,'',;,......''''..'',:okKXXXXXXK0Okkxddlc::;;;;;;;;;:cc:.                                      
                                       .:ol:;;;;;;;;;;;;;:ccodkO0KXXXXXKKOdc;''''........'''..'cxOOO0KK0000O00000OOOkkOOOOOOO0OO0000000KXXXXXXXXXNNNNNNNNNNNNNNNNNNNXXK000000OOOOOOOkkOkkO00000OOOO000000Okkl,..','.......',,',;lx0KXXXXXXXK0kxdolcc:;;;;;;;;;;:cccl;.                                      
                                        .,clcc:;;;;;;;;;;;;;:loddxkO0KXXXXKKOdl:,'......',''..':dk0KK0000KK00KKKKKK00000000O0000000KKKXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXKK00000000000O00KKKK0000000000000Okd:'..'',,'....',;:lxOKXNNXXKK0Okxddoc:;;;;;;;;;;;;;;cll:.     ,lcccc.                            
                                          'loc:;;;;;;;;;;;;;:clloooodkO0KKXXXXK0Oxoc,..,;;;,'..,cxk0000KKKKKKKKKKKKKKKK000000000000KXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXK000OOO00O000OO0KKKKKKKKKKKKKKKK0Odc'..',,;,,'.':lxk0KXNNNXK0OOOxoolllc:;;;;;;;;;;;;;::coo;.     :xddxk;                            
.......                                    'cccc::;;;;;;;;;;;::::::cloddxkOO0KKXXXXK0kxdolc:;;,,;loxOKKKKKKKKKKKKKKKKKKKKKKKKKKKK00KXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNXKK00OO00KKKK000KKKKKKKKXXKKKKKKKK0koc;'',;;:clodxOKXXXXXXK0Okxdooooccc::::;;;;;;;;;;:::cll;..      :xkkxd,                     .......
',,''','..                                  .,cllccc:;;;;;;,,,;;;;;;cllloooddxkO0KXXXXXXXK0OOkxxxxkkOKKKKKKKXKKKKKKK0KXKKXKKXXXK000KKKKXXXXXNNNNNNNNNNNNNNNNNNNNNNXXXKKKK0000KXXXXXKKKKKKKKKXK0KKKKKKKKOkkkxxxkkO0KXXNNNXXK0Okxxddoollcc::;;;;;;;;;;;;;::::ccc:;.        ......                  ...',,,,,,,
',,,,,,,,,,;'                                  'coolc:;;;;;;;,,,,,;;:::::ccccccoxxkOO0KKXXXXXXXXXXXKKKKKKKKKKKKK0OKKKK0xxOKK0OKKKKKK00KKKKXXXXXXXXXXNNNNNNNNNNXXXXXKKKKK0000KXNKO0XXKkdO0OKKKKK0KKXKKKKKKKKXXXXXNNNNXXK0Okxxddolcc::;;;;;;,,;;;;;;;;;;:cclll:.                                 .::;,,,,;;;,,
.'',,;,,'',;;'.                                 .;;:cc::;;;;;;;,,;;,;;;;;;;;;;;:cllloodxkO0KXXXXXXXXK0KKXKKK0KXKOddxddooooxOdldO0KKKKKKKKKKKKKKKXXXXXXXXXXXXXXXKKKKKKKKXKKXXXK0xoxxxdllodxxxdk0KK0KKKKKKK0KXNNXXXK0OOkxxddoollc;;;;,,,,,,,,,;;;;;;;;::ccc;'.                                 ..,;;;,,;;;,,''
....'''''''',,,.                                    ,ccc::::;;;;;;;,;,,;,,,,,,,;;;;;;::clodxO0KXXXXKXXKKXXK00KXK0kxolccllclllcclodkOO0KKKXXXXXXXK00KKXXXXXK00KXXXXXXXXKKKKOOOxlcooccccccclllodk0KK00KKXXKKKXXXK0Okxdollc::::;;;;;,,,,,,,,;;;;;;;;:::clc;.                                   .,,,,,'',,,''...
..........'',;,,.                                    ..,lllcc:;;;;;;;;;,,,,,,,,,,,;;;;;;:cclodxO00KKKXKKKKK00K0Oxdllc::;;;:::::ccclldkxdx00kOKXXKKKKKXXXXXKKKKXNX0OOK0dokkoolc::::;;;;;::cclllok00KK00KX00KXKKOkdolccc:;;;;;;,,,,,,,,,,;;;;;;::::cc:;,'                                    .,,,,,''''.......
...........';::,'...                                    .',;cc:::::;;;;;,,,,,,,,,,,,,;;;;;::::coxkKK0KKKKKK000xooc;'...........',,,;:clldkdlok00kxOKOOOKX0kxOK00kolldolccc;,......... ....',;coxxk0K000KK00KK0xolc::::;;;,,,,,,,,,,,,,;;;;::::cccc,.                                    ...';::;,''.........
............'',;,''''.                                      .;:::ccc:;;;;;;,,,,,,,,,,,,,;;;;;;;::lkOO0XKK000kxo:,..           ........',;:::clooccdxodkOkl::odlccc:;,,,'..                  .,:coxkOK00KKK0Okoc;;;;;;;;;,,,,,,,,,;;;;;;:::ccc;'...                                  ...'',,,,,,''...........
..............',,''',,'''''....'.                               .,llcc:::;;;;;;,,,,,,,,,,,,,,;;;;;:cokKKK0kdcc:..               .....  ...........''',,,,,,;,'.......                         .;cloxO00O00xl:;;;;;;,,,,,,,,,,,;;;;;;::ccc:;,'.                             .'...',,',,,,,,,,,''.............
..................',,,',,,,,,'''''''.                             .''':cc:::::;;;;,,,,,,,,,,,,,,,,;;;lxOOxo:::'      ......'..........   .....  .                ...      ...............      .,:lldkOOdc:;;;,,,,,,,,,,,;;;;;;::::ccccc'.                             ..''''',,,,,,,,,;;'''................
...................'''.''',;;,,,,''''..                               .,:::cc::;;;;,,,,,,,,,,,,,,,,,;;cccc:;c;.     ....':odo;..;dOl....   ...... ..      .........     ..'lxl...,ll;.....     .,::cclll:;;;,,,,,,,,,,,,;;;;;;;::clc;,..                              .',,,,,,,;;,''''''''..................
..........................'',;::;,''',,'.                                  .;:::::;;;,,,,,,,,,,,,,,,,;:lll:cl;.    .....:x0OOx:.'cl:......   ....................    .....'ll;..;dkOx:.....    .,cc::c::;;;,,,,,,,,,,,;;;;;;::ccll;.                                .''',,,;:;,,'''.........................
............................'',,;::,''''..                                  .,:cllc::;;;,,,,,,,,,,,,,,:odoc:c,.  ......'o0XKK0ko;..........   ...'''......'.....   ..........';lk0000x,......   .;lc::::;,,,,,,,,,,,;;;;;::clll:,..                                .',,,,;;;;,'''...........................
'......''.....................'',;;;'','''..                                   .:oc::::;;;;;,,,,,,,,,,;odolcc;.   ....';dKXXXXXK0xolc:;,...     .',;;;::;,,,'.    ..;c:;;;:lox0KKKXKKk:'......  .colc:c:;;,,,,,,,;;;;:c:ccc::lc.                                 .'',,,,;,,'''.....................''......'
,'....'''.  ....................'''..'','''.                                    ;l;,'',;::::;;;,,,,,,,;ldddxxl'   ..',:cdKXNNNNNXXXXK0Oko,..    ..',:cclcc:;,.   ..,d0OO00KXXXXXXXXXKxoc;''.....;ddol:::;;;;;;,;:::::clc:,'';c:.                                .,,,,'''''''.......................'''....',
,'........ ............................'''''....'........                       ,lc;,'.';;:ccc:;;,,,,,;:lox0KOl. ....,::lOXXNNNNNNNNNXXXKx;..   .,:ldxkkxxdol,.....,dKXXXXNNNNXXNNNXOdol:,,....,dOkdc::;;;;;;;;:cccc;,,,''',:o:.                     ..''...','''''''...............................''....''
..  ..  ....................................'''',;;,,''''.                      .co:,,''...';cc::;;;;,,;;lkOOkkl......,:ldOKNNNNNNNNNNXXKk:'.. .;oO0KXXXK00Oxc.....,l0XXXNNXXNNNNXKOdolc;,'...:okOOdc:::;;;;::cll:''....',;;ll.                    ..',,',,,,,''''''.......'........................'.  ....
...     .......................,,,'.....''....'',;:;;,,,''..                     ,oc;,'.....',;clc:::;,;;:oxk00Oo'...'',:odxO0KKXXXXKK0Odc,'...;dO0KXNWNXXK0Ox:...',:lxO00KKK00OOkxoll:;,....lkkkxoc::cc::ccclc;;'.....'',;:c;                   ..'''',;,,;;,''''''''''.',;;'...............''......    .  
         .. ...................,,,'....',,'.....'',,,;;;,''..                    .cl:;,'.......';cllc:;,;;;lxkO00d,...''',cloddxxxxxddolc;...'cxOKKXNWWWWNXXK0ko,..',;::clloodddoollc;''....cdkOkdc::::clcclc,.........'',:lc.                   .'',,,;;,,,''''''',,'''''',,'...............''.....        
             ...........................''........''',,,,,''..                    'lo:,''.........:lllc;,;;;:lOKK0xc'...''',;:cloc:clc:,'..':xO0KXKKKXXNNX0KKK00xl,..',,;;;;,,:lcc:,'.....;dOkxdoc::::clol:,,.........'',;cl,                   ..',;;,,,,'''.....''''........................'.            
              .  .. .................................''',,,,''..                  .:o:;,''..........;llc;,,,,;lxkkkOd:'........','.,,'..';lx0KKXXKdcoOKKXklokKKK0Oxo:,'.......',,'.....,cdk00Oxoc:;:coollc............'',co:.                 ..''',''''''..............................  ..  .             
                 .. .....................................',;;;,'..                 .;ll:;''..........'col:,,;;;cdOKK0Okoc;''.......'';cok0KXXXKXXk:':kKKKd;;oOKXK00K0kdc;,'...'....';cdkO000Oko:;;;:loo;.............',;:lc.                ..',,,,,'...................................  ..                
                 .....   .'. ..............................''''...........           .col:,,'''.......'looc,,,',:ldOKK00OkdddolllodxO0KKKXXXKK0KX0xddkk0Kkook0KXXXKK0K0OOkxdoolllodkOOOOO0KOo:;'',:llll,...........',:ll;..         .........''''''...............................    ... ..                
                    ..   ... .....................................''',,,,'..          ..,;:::;;,'......'ldoc'....':okO0KKKKKOkO00KKKKXXKKXXKKKKXNKKKKK0KKKKXXXXXNXKKXXXKKKK0000000KKKK00Oxdl,....:odc''.......'',;:::c:'.        ....'''''''''''''................................    ..                    
                              .   .................................''''',,''..            ...,;:;,.......;lo:'.....,:d0KKKXXOk0XXX0O0K00XNXKXXXKK00KXXNXXXXXKKXXXNX00XNXKKXXK0KKKXXK0Okkxc'.....'cdl'.   ...',;:c:,...          .....'',''...............................'.  ...                            
                                  . ...','............................''''''''.               .,cc;'......'loc,......;c:lOXXXXKKXNXXKKKKXKxkXN0dlokKXXXXXNNKkxkkkKNX0O0K0KKK0KNNXXXKOxl;'......;ll:.. .....';llc,.            ...................................',,'......                                 
                                    .'''',,'...............................''...               .,oo:,.......cdl,.......':oxKXKkOXNNXXNNNNXOOXNKkdxO0XXXK0000OOOkxONWXO0XNNNXKKNKxokOdoc'......,col,. .....,:ol;..             .................................',;:;'''...                                  
                                    ..''.'','.................     .............                .cxl;'......;lc:,....  ...,lol;l0KkoxO0XNX0KXXXNK0OO0XNK0OO0OKXKXXNNNXKNNXXKdlxd:;cc;'.......:oc;.. .....';ox:.               .............     ...............',,,,,,,...                                  
                                     .','''''.. ..........           .............               .lo:;'......,ldo,.....   .....:ldlcodlk0o:dKXXNXKK0KNWNKKXXXNWNXKXN0l:dOdodo::;,'...  .....,lo:.   .....,coc.              ...........            .............'',,,,'.                                    
                                      ...''''.............             ...........                .col;'......;ll;......        ...';::oo:,:oxO00O0KXKO0XXOOKNXklloxo;,;:;,,'...      .....':::;.    ...,co:.               ..........            .......... ...',,'..                                      
                                         .''...............           ..........                   .:ol:'......'cl;..........    ........''''';:;:lxdc;:loccddc;;;,''......     ..  ......'coc.    ...';cc;.                  .........          ................';.                                        
                                         .................          ..........                      ..;c:,'.....,l:,..  .............'...................''...............................;ll,.   ..';c:,.                       ........        .............'''''.                                        
                                           ..'..........           .........                           .,::;... .;lo:.     . ..'.,:;,lc..''''.........................,:;..',;......   ..:ol'.  ..,,;;,.                          ........         .........''',..                                          
                                            .''........            ........                  ....         ....   .col,..  ..'.'lc:dl.;l,.',cdc..:xd:'''.':llc'.,cl;..'cl,.,lol'.....  ..:lc,.   .....         ...                 ........           ........'''.                                           
                                            .'.......             ..'....                  ......                 .;cc;..  .cc';:',,  ,:. .oKd..c0Ko,....l00c..o0d'....'...::'.;c;.. .,c:,.                   ......               .....'..           ........'.                                            
                                            ........              ..'....                ........                   .:l:.. .:d,.. ..  ,l' .;o;. .c:...   ;xo'..,d:... .:,  ....ld;...;oo,                     ...''..              ....'''.            .......'.                                            
                                           ........               ..'.....              ........                     ,lc;.. ':'.....  .'.   .....'. ... .':..,..'. .. .'.  ';..:c...;ll;.                     .......              ....','.             ..........                                          
                                          .,'......            .....''.....             ......                        .;l;.  ..;c..'.       ..',l:..'. .....,o;           .ll'.....,lc.                         ......            ....',;'....           .......',.                                         
                                        .';,'......         .....  ..'.....            ......                         .,c:'.  .':;;;.         .'c:. ..  ... 'c'           'o:''  ..co:.                          ..''..            ...',;........        .......',;'                                        
                                        .,'........       .....     .'.....          .......                           ':c;.  ..;l;,.          ....     ... ...   ..      ,:';,  .,dd;.                           ..'''..          ...',,.    .....      .......'',;.                                       
                                       .,,'......       .....       .''...        .........                             .:l,. ...;..    .....   ..      ...     .......   ...;'  .cxo'                             ..''''..        ...',.      .....       .......',,.                                      
                                       .'''.....       ....          .....      ...........                             .:l;. ....     ............. .............'....     .'.  'xx,.                            ....''''...      ...'..        .....      ......'',.                                      
                                        .''.....       ....           .....  ...............                            .ld:. ..       ....'..'.................';;.....    ..  .;dx:.                            ......''''...    .....         .....      . ....','.                                      
                                        .''....      ......           ......................                            .,:;.         ....';,';...''.'''..','',',lc'''..        .,cl;.                           ......................          ........   ......''.                                       
                                       ..''.....    .......   .....................     ......                           .''.   ..'.. ....;;',c,.';'';:,'';:;,;,:oc','.  ..  .. .,:;.                           ........  .......'''''...''...  ...........  . ...,'..                                      
                                     ..''.....     ............'',,''''.........          .......                       ..,..   'coc.....':,.:o;.;c,;c:,;::l;;:;cd:';,. .;,.''. .';,..                     ..........       ......''''',,,,,,'............     ....'''..                                    
                                    ..'.....        ....''''''''''...........              .......                      .','..  .co::;...,c''lo,'lc,:c;,:cco::c;lo,'c;.',:l,;,  ..;:;.                    .....''..            ......''''',,,,,,,'',,'... ..  .. ....'''.                                   
                                   ...........    ...,;;;;,,'''''...........                ........                     ..'.. ..,;;l:''.:c.,ol',oc;l:';lcco;:c:ol',c:,,cc:,'.....,,.                    ......'..               .........''',,;;::::;;'...... ........''.                                  
                                 ..''.......... ..',,,,,''''.......    .....                ..........                    .''.  ...;c;;,'c:.;oc';l,:o;.;l:co;:c:o;.;;:l';c.......,,.                  .........'..              ......  .......''',,,,,;:,......  ......''.                                 
                                .'''.............;;;,'........         .....                ......  .....                 ':;.. .. ',..',cc.;l;.,,'lo,.;l;co,;::c'.;,;c....  ...'cc,.               ............'.              ......       .........'',;,',,..........',,.                                
                               .,,'..........,:;,;;'.....               .....              ......     ......              .::'.. ....  .,c:..,,.'.'lc..,;.,:',,,:..:;'.... ... .,:,.             .......    ....'..             .....               ....',,:oo;..........',;.                               
                   ......','. .',,.. .......;cc:;;,'..                  .....           .........       ......            .';,........',.... .'...:o,...'..'.'..'......,;. .   .;:'           ........       ...... ..         ......                 ...''';cc'..........;c:.....,..';.                    
               .,''''.''.......'''.........';;;;,,'.........            .....      ............           .....           .,,'.......'oOc..','...':c'.'''........';'..cd:..... ..;;.         .......          ............     .....           ..........''',;:c;..','''..',,'.''','.',..,:,                
            .'''''......      ........',:::;;;:;'... .........,;;,..     ......................            .....          ..'.........,l:..lkd;.,ll;.cxxd;.:lcl;.okl.'c:.....  .....        ......        .........'''''''..........   ...,;;,''..........',;;;::;,;,.........       ....''..,,.            
            ,:;..              ........,cc,..','..       ..,coxxxdo:'......''.''''..................        .....          ....... ........cooc.,xOc'oOxd;.lOlc:.:d:..'...... .....         .....        ............'',,,,,','''''...',:ldxxxdl:'.       ..,;,'',;;'........               .';,            
           .,,'.              ....... ..'::'....         'ldxoolccc;;;:;;,,'''''''..................         ....           .......  ........;,..ld;.,clc..:d;',..;. ....... .....         .....         ..............''''',,''',,,,,,;;:ccoddxxo,.        .....;:'..........               .;:.           
. .',,,:cc,;lc;.            ............,oxl;:;.        .coolc:,,,;;;,,,,''.............   .......           .....           .......   ........ .... ..''. ...........  .........          .....          ....','. ........''...''''',,,'',,,;cldxc.        ..,;codc.........''.            .,lo:.'cl:::'  .
xlck0OOO0OkkkOkdl:;....    ..'.........'lxkxll;.        .:c:,'....................         .......           .....            ...........  ...     ......    ...................           .....          ....','.       .....................';cl:,.       .'ccclxx;........',,.      .;c:cok000kk000KKkccx
0xoxkxkxxkxxxxxkkkkxxOOc. .............'codddxl.      .',;:;..            .....           ..'.....           .....              ...............  ........ ....................            ....'.         ....',,'.          ......          ...':llc;..     .;xxlloo,..........,,. .lddkOOO0OOkOOxxOxdkOOkk0
dl:cc:::;;:;::cllodxxkOkdlc;'............,:loxxo;.. ..;:c:;'...,.         .........      ..............     ......                  ..........  .......... ................               ....''.   ..........'''..      ........          ';'..,cl:;;,.  .'cxkxlc;'...........'cccxO00Okxoool:cc::c::cccllx
,,,,,'''......'.':::clodkxxdoc,.........,::;:clodoc;',;cl:;...;c'          .......................................                      ...............''.  ..........                    ....''...........'..''......''''''''...         .;l,..',cl;,c:,:lddol:;;;'..........,lxkOkxdoccc:;'....''''','',,;
''..............,c;,,;::cldxkxl,.......'lkd;',,;:cllc::loc;...::.           ..............................'''......                     .............................                    .....''''''.......'..''...'''..........           ':;..,;odc:cllooc:,'':lol'......'cddxkxolc;;,,;c:'.............''
'...          ..,;;,,,,,;::loxxd:,,,'...col:....,,,,,,;:ccc::co:.          ......         ............','''''........                     .........................                    .......''',,,;;'...'''..'....        .....         .'c:;:codl:;,,;,,,'...:ooc'...'''ckkxolc:;'',,,,::'..         ..',
..               ...',;;,,,,;cdxkkkko:;;:cc,......''''''',:::cll:,.       .....           ........'',,;,'''............                       .....     ........                     .............',;::;;,,''.....          ......       .,ldolc::;,,,,,,''.....':ooc;:lxkxxxdl:;,,,,,,'....              ..
                    ...',,,,,;:codxxdoc:;,..........'''....'';:ccc.      ......           ........''',''................                                                            ................',;;,,'''.....           ...'..     .'clll:,'...',,,'..    ..':cloodxxdlc:;,,,,,'....                   
               ...........',,,,,;:codxo;...... ..  ...'''...';;;;;..     ......           ................     ..........                                                          ...........   ......''''''.....           ....'.     ..,;:c:,....'''...    ......'coolc:;;,,,''....... ....              
           ..;oxxl;..........'',,,;:cdxo;......... ...','...',;,;cl:,.   ......          ...............        ...........                                                      ............       ...............          ....'.   .;cc:;:::,'..'''.............,cooc::;,,,'..........,:oxdo;..          
        .:oxkkOkxdol:'........,,,,,;:cldo;.......   ..'''...',;;;::clc,..........',,,,'...',,''...            ................                                                ................            ....',,,....,,,'......... .;lolcc::;;,'..'''............;oolc:;;,',,........';lodxkO00kdc'.       
      .ckOOkkkkxxkkxdl:'.......;;,,,,;coo:'.......  ..','..'''''....,;:;'.......:looddoc;:cc:,'...          ...................                                             ....................         ..,,.',;cc,,lxxxdoc;......':lc;,''''',,,..','...........;ldoc;;,,,;;.......';coxkkkkxkOOOOxo,      
    .ckkkkxxxkkkxxddolc:,......,;:;;;;:loddl;..... ..',,..'''.........',;,...':llc;;:llc::;,,,;clc,..    .......    ............. .                                       ...............  .......     .':lol;'',;:::ccccc:cc:;'.',;,'........,;;'..,,'........:oddoc:;;;;;;,......;clloodxkkkkxxxkOOkc.    
 .,;ck0kxdddddddooollccc:;'....';;::;;;:coxkko'..  ..,;'.',''...     ....',;:oxxxo:,,,,,,''.',:cccc:,.........        ........................        .          ......................      .........';:cclc;''''',,,,',;ldxxxolc,...........,;:;'.,,,'.....;oxdloc;;;;;;;,.....':clccclooooodddddxOKk:'.  
 ,dkkOOxdddooooooolc:::::;;,....'',;;;;;:cldkkl'.....',''',,'..       ...'cdddllll:,''''',''.''''',,;;:;'..             .............................................................           ...',,,,,,,,,''''',,'''',:llooodxd:.....    ...,;:,'','.....;xxdoc::;:;;;,'....',;;;::;::clodoooooodk00OOx, 
;oxxOOkxdooolooolc:;,''',,;;;,.....',,;;;;:cdkxddl:,....'','.... .......,cddolc;,,;:::::;''''''''''''',;;'.                  ..................................................                  .';,,''''''''''''',;::c:;,;;:coxxxo,...... ...',,,.....;coddxdol:;,;;;,'.. ..;:;,,,,,,,;;:coddooooddk0OOOo,
xkxxO0kdoooooool:;,''''''',,,;,......',,,,,;codxxxddl,..,;,'',,..'colcclolccc:;;;,,;:ccllc;'''.........',:;'..                  ...           .................         ...                   ..';;,''''....''',''::cccc:,,,,,;:cldxdc;clc,...,,,,;;'.;odxxxdolc:;,,,,'......';;,''''''',,;:cldddoooodk0Okkk
xxkO0Oxdooooooc;,'''........'',;,,,'..',,,,,;::loooooc;cddl;:odocldxoollc::;;,,:lc;'',,,;::;::...'''.....',;;,'...                .                                     ..               ....',;;,''....''''.';c;',,,,,,';ll:,',,;:llllloddcclddlcdxoclollcc::::;,,,,'...',;;,'''''......'',;:lodddoodk00kkx
xxkO0Oxdooool:,'''............',,,,'....',,;,,,;;:lddoodxxxooooodolc::;;;,,'.',:ccc;,......';;'...,;;,......',,,,''...                                                                ..',,,;;,'.....',;;,''..,,'......';colc,...'',;;;:cloodddxxxxxxoolc:;,,;;;,,,'....'',,;'...........'''',:lodddodk00Okk
kkkOOOkxoool:,''''.............',;,'.....',,,,;:loxxddolllllllc::;;,,'''......,;:c::;'.......'.....';::,'',,'.....''....            .                                               ...'''''.''',;,,,;:;'..............';:cc:;'.....''',;;;:ccloooolloodoolc:;;;,,'....',,,,'.............'''',;lddddxkkkOOO
kkkxdxkkddo:,,'''...............';,''.....';loddooc::;;,,,;;;;,,,''..........';;;:::;'..............,::;,''',,,'..........                                                         .........',,,,,,,;;::'...............,;::::;'........''',,,;;;,,,;;::clodddoc;'.....',,,'...............'''',:oxkOOkxxkOk
kkkxdddxkxl:,,''............. ...',,,,;:ll::odoc:;,,'''......';cc:,......,:cc:::::;,'..............',,'''.....''''..........                                                    .........'''''....',',;;'................';:::cc:;'......,:cc:,........',;:cclol;:loc:,,,,'.................','';lxOOkxdxxkk
kkkdooodxxdlcc:'.................,coxkkxxxdoodoc,''',,;,'....'cdxxo;'.',:cool:;,,,,''.............,::;,''.........''..........                                                .........'''..........'',;:;'............''''',;:cllc:;...;lddol;....,;;;'..',lxxooxkxkkkxdl,.................';cclodddddddxxx
kkxdooooooodxxxo;,::'...',';dxlcoxOOOkxoooodxdol:,',;::cc:,''';lodoc,';:::cc:;,'',:c:,,:lc::cc:;,;;;;;,'............''...........                                        ............'''............',,;cc;,,;:::::::;:loc,..',:ccllc;',:cllc:,..,;cccc:'.':dkxxxxdooxkOOkdc;:cl;''....';;,;ldxkxoolloooddxx
kxxdoooooolodddddxkkdloxOOkkOOOOkxxddollloooc::cdo,.,;::cc:,'.,:ccc:,';:::::;:llc::clclddlcccccclc:;,,,'.............'''............                                   ............''''............''',,::clolloolcldddocc:;cl:;:::cc:,';:cc:,'.,::cc:;,.'cxdlcclloolloddxxkO0OOkkxxdoldxxxxxxdddolllloodddx
kxxdoollooc:cllooooddxxxxxxxdddddolllc:::cc:;;codl,.',:::c:;'.';::;,'.,;:c:;;lddl:,,:::c:,;::;,,,:cc;,,................','...........                                  ...........''................',,;:::;,,,;cc;,:c:;;;:okxl;,;;::;'';cc:;'.';:::::,..'codl;,:cllc;:coddddxxxxxkkxxxdddddoolcccllllooddxk
Oxxdoollooc:;:::ccclllllloolllllc::;,,'''',,;clllc;'.',::::;'.',:;;,''';clc:;;ccc:,',,,'..,,,''''',;,'''................''''..........                               ...........'''.................''',,;,'''',;,'''',,,;:lol:;;:c:;,.,;cc:,..';:::;;'..,:looc,,,,,,''',;:cclloooooolllllccc::;:collloodxxO
0kxxdoolool:;;;;;;;;;;;;:::;;:::;,'',,''''.'';:cllc,.',;::;,'..,;;;;,'';cc::;,;::;,'''.....'''''''',,,''''................'''............                     .................''..............'''''',,;;;,''''''''....',;::c:;;;ccc;'',;:c:,..';;;;;,'.,;;lol:,''''''',,,,;;;::;;;:::;;;;;;;;;;:lollloddxkO
KOkxxdooool:;;,,,,,,'',,,,,,,,,,,,,;;,,,,,'..';:ccc;'.',;;;,'.';::;;,'',:::;,,,;;,'.....''''..''''''',,,'''.................''..................          ......................................'',;;;;,'''''''''''''...',;::;,,;:::,'',;::;,..',;;;;'',;;;:c:,'''',,,,,,,,'',,,,,,,,,,,,,,;;;;;clooloodxkOO
K0Okkkdooooc;,,,,,,,,,''''''',''',;,''''''''..';:::;,.',;;;,..';::;,'..,;::;,,,,,'...''''..............'''''....................................          .....................................',;;,,'''''.....''',,''''',;:;;,,;;;;,..',:::,...,;;;,'',;;;;;,'',,'''''''','''''''''',,,,,,,;;;:coooloodk000