//SPDX-License-Identifier: M-I-T

// TELEGRAM: https://t.me/BaldAndBankruptEth
// TWITTER: https://twitter.com/BaldBankruptERC

/*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                                                                      
                                                                                                                                                   ...                                                                                                                                                      
                                                                                                                                                  ..'''.                                                                                                                                                    
                                                                                                                                                  .',,,'.                                                                                                                                                   
                                                                                                                                                ..',''','.                                                                                                                                                  
                                                                                                                                               ..','''''''.                                                                                                                                                 
                                                                                                                                               .',,',,,'','.                                                                                                                                                
                                                                                                                                             ..',,'',,,,,,,'.                                                                                                                                               
                                                                                                                                            ..',,,,,,,,,,,,,'.                                                                                                                                              
                                                                                                                                           ..',',,,,,,,,,,,,,'.                                                                                                                                             
                                                                                                                                           .',,',,,,,,,,,,,,,,'.                                                                                                                                            
                                                                                                                                          .',,,',,,,,,,,,,,'''''.                                                                                                                                           
                                                                                                                                         .','',,,,,,,,,,,,',,'','.                                                                                                                                          
                                                                                                                                        .',,,,,,,,,,,,,,,,,,,,,','.                                                                                                                                         
                                                                                                                                       .',',,,',,,,,,,,,,,',,,,''''.                                                                                                                                        
                                                                                                                                      .',,,,,,'',,,,''',,,,,'''''','.                                                                                                                                       
                                                                                                                                     .',,,,,,,'''''''''''',,,,,,'''''.                                                                                                                                      
                                                                                                                                    ...............................''..                                                                                                                                     
                                                                                                                                   ...';:ccllodxxxkkkxxxxxdollcc;,.....                                                                                                                                     
                                                                                                                              .';coxxkO0KKKKKKKKKKKKKKXXXXXXXXKKK0kkdl:,.                                                                                                                                   
                                                                                                                         .':ldk0XNXK0000KKKKKKKKKXXXXXXXXXXXXXXXKKKKKKK0kxoc;'.                                                                                                                             
                                                                                                                     .':ox00KXXNNNXK0KKKKKKKKXXXXXXXXXXXXXXXXXXXXKKKKKKKKKKK0Oko:'.                                                                                                                         
                                                                                                                  .'cxO0000XNWNNXKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKK000K0Od;.                                                                                                                       
                                                                                                                .cxO00000XNWWNXKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKK000000kc'.                                                                                                                    
                                                                                                              'lk000000XNNWNNXKKKKXKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKK00000000Oo;.                                                                                                                  
                                                                                                            'lk000000KXNWWNXKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKK0K0000O0Od,.                                                                                                                
                                                                                                          .ckOOO0000KXNWWNXKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKK000OO0Ol.                                                                                                               
                                                                                                         'okkO00000KXNWNNXKKKKXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXKKKKKKK00OOOOx:.                                                                                                             
                                                                                                        .lxxkO00000KNWWNXKKXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXKKKK000OOOOOc.                                                                                                            
                                                                                                       .cdxxkO0000KXWWNXKKKKXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXKKKK00OOOOOOl.                                                                                                           
                                                                                                       ;dddkOO000KXNWWNXKKXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXKKK00OOOOO0o.                                                                                                          
                                                                                                      'oddxkO000KKXWWNXKXXXXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXKK000OOOO00:                                                                                                          
                                                                                                     .cdddxkO000KKXNNXKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXNNNNNNXNNNXXXXXXXXKKK00OOOOOKk'                                                                                                         
                                                                                                    .:ooddxkO000KKKXXXKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKXXXXXXXXXXXXXXXXXXXXKKKKK00OOkO0Kl.                                                                                                        
                                                                                                    ,oooddxkO0000KKKKKKKKKKXXXXXXXXXXXXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK00OOOk0K0;                                                                                                        
                                                                                                   .ldooddxOO000KKXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK000000000000000000000000KKKKKKKKKKKK0000OOkOKKx'                                                                                                       
                                                                                                  .:doooddxkO000KXNNXKKKKKKKKKKKKKKKKKKKKK0000000000000000000000000000000000000000KKKKKK0000OOOkO0KKl                                                                                                       
                                                                                                  'oolooddxkOO00KNWNKKKKKKKKKKKKKKKKKK000000000000000000000000000000000000000000000000000000OOkkO0KXx.                                                                                                      
                                                                                                 .colloodxkkOOO0KXNXK0KKKKKKKKKKKK000000000000000000000000000000000000000O000000000000000OOOOOkkkOKK0:                                                                                                      
                                                                                                 'locloodxxkkOO000KK00000KKKKKKKK00000000000000000000000000000000000000000000000000000000OOOOOkkkO0KKo.                                                                                                     
                                                                                                .:oc:lloddxkkkOO00000000000000000000000000000000KKKKKKKKKKKK00KK0000000000000000000000000OOOOOkxkO0KXd.                                                                                                     
                                                                                                .ll::cloddxkkkOOOO00000000000000000000000KKKKKKKKKXXKKKKKKKKKKKKKKKKKKKKKK0000000000000000OOOOkxxO0KKx.                                                                                                     
                                                                                               .;ol::cloddxkkkOOOOOOOO0000000000KKKKKKKKKXXXXXXXXXXXXXXXXXXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK000OkxxkO0Kk;                                                                                                     
                                                                                               .loc::cloodxkkkkOOOOOOOOOO00000KKKKKKXXXNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKKKKKKKK0OkkkkOOOc                                                                                                     
                                                                                               'oo:::cloodxkkkkOOOOOOOOOOO000KKKXXXNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXK0OOkkkOo.                                                                                                    
                                                                                           ..  ,ol:;;:clodxxkkkOOOOOOOOOOO00KKXXXNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXNXXXXXXXXK0Okkx:.........                                                                                           
                                                                            ...........'.''''..col;;;;:loddxkkkOOOOOOOOOO00KXXNNNNNNNNWNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXNNNNNXXXXXXXK00d'..','''''.............                                                                             
                                                               ...........''''',,,,,,,,,',,'..'ooc;,;;:clddxkkkOOOOOOOO00KKXXXXNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKXK0000OkxxkkOKXXXXXXXXXXX0c..',''',,,,,,,,,,'',''''...........                                                                
                                                 ...........'''''',,,''''',,,,,,,,,,,,,,'',,..,ooc;,;;;clodxxkOOOOOOO000KKXXXXXXXNNNXXXKK00000000KKKKXXXXXXXXKKKKK000000000000Oxlcol;,..'',;:ldk0XXXXXXX0:..','',,,,,,,,,,'',,,,,,,,,,''''''''...........                                                   
                                    ..........'''''''',,,,,''',,,,,,,,,,,,,,,,,,,,,,,,,,,',,..,ooc;,,;;:coddxkOOOO00000KKKKKXXXXKK00Okxdollc::llcllcdkkO000000OOOOOkkkkkkkkkkxdl::c,...'''',,;:ldO0KXXNXXO:..',,',,,,'',,,,,,,,,,,,,',,,,,,'',,,,,,,,''''''''..........                                     
                     ...........'''''',,,,,,,,,,''',,,,,,,,,,,,,''',,,,,,,,,,,,,,,,',,,''.''..;ol:;;,;;:clodxkOOO0000KKKKKKK00OOkxdolc:,'''''''.....':cldxkOOOkkkkkkkkkkkkkddolc:;,.........'',,;::lxO0KXXO;..,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'',,,,,,,,''''''............                       
          ..........''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',,,,,,,,''',,,,,,,,,,,,,,',,,'..','.. ,lc;;,,,;::coodxkOO000KKKK000Okxddl:,''',,,,,,'.......';:codxxkkkOOkkkkkkkkxdollc;,,'''',,;clodddollll::lxkO0o'.,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''',,,,,''',,,,,,,,,'''''.........           
         ..',,,,,''',,,,',,,,''',,,,,,,,,,,,,,,,,'',,,,,,,,,,''',,,,,,,,,,,,,,,',,','.'lOK0kl,.',;;,,,;;:cloodkOO0KKKKKK00Oxdo:,..';:clodxxxdlc;,'.',;;:codxkOO0000000OOkxol:,'''''',;;:ldk0KKK00kxdlc:::cdo'.,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,',,'..          
           ..',',,,,,,,,,,,,,,,,,,,,,''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''.c0KKK00kl,..',,,,;;:clodkOO0KKKKKK0Oxoc,'',:lodkO00Okkdl:,'''''''',;coxO00KKKK000Oxoc;'.'''.'......',;:oxkkxool:,',:l:..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',,'..            
             ..',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'',,.'oOOkkOkxxo:'..,;,;;;:cldxkO00KKKKK0kdc;;clodxxxdolc;'.....'''''.....';lxO0KKXKKK0Oxl,''',,'...,;.  ..  ..';;;:;,'';cl,.''',,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''..              
               ..',,'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',.'oxoc:lodddol;..',;;;:cloxkO0KKXXXXKOoc::cll:;,'...,,. .'..;ol:,.....'',cx0XNNXXKOko;,;;cddc,.,ox:..,:,.,;,......,;cdc..,,',,'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',,,,,,,,,,'','..                
                 ..'''',,''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'.,do:;;,,;codddl;,;;;;:cloxO00KXXXXXXKkoc:;'..  ...lkl..';;.:0Xk:'..';:;;:oOXNNNX0kxl,lkk0X0oc:clc::;;:;;lkxl;...'cdOO:..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',,,,,,,,''..                  
                   ..''''',,,,'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'.'lcloc;,,,;loddolc:;;:cloxO0KKXXNNNNXKOxoc,'';::,,,;;;;:llok00xlcccldoccccxXWWNN0xdc;xXXXKOkxxxkkOOkkxxkkOOkxolcoOKXKd'.'''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''..                    
                     ..'','',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'..:xOkdc;''',codxdoc:;:lodkOKKKXXNNNNNXXK0OkxxxxdlllllodxkO0Odlccclodxxddo:o0NWWN0xd:,d000kollccccccloooollllodxk0KXKX0:..''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..                       
                       ..',,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'..l0K0Oo;,,,,,:ldxdl:::cldxOKKKXXXNNNNXXXK0Okkxooooooooooolc:;coddxxkO0Okko:xNWWNKkd:,oOOOOOOkkkdolc::::clodxkO0KKKKKKKk,..,,,,,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''.                         
                         ..'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''.'kXX0xlll:,,'',cddoc:::loxOKKKKKKXXXXXXXXXXK0kdc:;;;;;,,,;coxO0KKKXXXK0kOd:oXWWWKkdc,ckOO0KKKKKK00OOOOO000KKKXXXXXXKKKKx'.','',,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',,,,,,,,,,'..                           
                           ..',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'','.,0NX0xxkdc,,',',cdoc:::cldO0K000KKKXXXXNNNNNXXK0kxolllodxO0KXXXXXNNXXKOkkxcl0WWWXOxo;;dOO0KXXNNXXXXXXXKKKXXXNNNNNXXKKKKKd'.',,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'',,''.                             
                             ..',,'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'..lKNXXKKOd:,,',:ccoocc:;;lxOO00000KKXXNNNNNNNNNNNNNXXKKXXXXXXXXXXNNNXXKOkkxllONWWN0xdc,lkO0KXNNNNNNNNNNNNNNNNNNNNNXKK000K0o..',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'',,''.                               
                                .',,','',,,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,','.,kNNXKKKOo;,'':xOkxo:::;:lxOOOOOO00KXXXNNNNNNNNWWWNNNNNNXXXXXXXXXXXXXK0OkkkockXNNNKOxo:;oOO00XNNNNNNNNNNNNNNNNNXXXXK0000OOk:..',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''','..                                 
                                 ...',,'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',,,,,,,','.'kNXXXK0ko:;,,lOKK0o:;;,:oxOOOOOO00KKXXXXNNNNNWWWWWWWNNNNXXXXKKKK00000OOkkkolxKXXXKOkdl;cxOOO0KXXNNNNNNNNNNNNXXXXXKKKK000kxo'..'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',,'..                                   
                                    .'''',,,,'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',''..cKXXNKxooc:;,:kKKOl,,,',okkkkkOO0KKKKXXXXXXNNNNNNNNNNNXXXKK0OOOkkxxkkxxxxxddkOKXXK0kdl:cdkOOOO0KKKKXXXXXXXXXXXXXXKKKK00Okddc..',',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'..                                     
                                      ..',,'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,','..oKXXXOlclc:;,ck0kl,''';okkkkkkO0KKKKKXXXXXXXXXXXXXXXKK000Okxdoollcc:ccloddxxk0KK0OkdollodxxdxkOOO00KKKKKKKXXKKKKKKKK00Oxdlc,..,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',,,,,,,'..                                       
                                        ..',,,,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',,'..l0XXXOol:;;;cxkxc,'.':dxkkkkkkO0KKKKXXXXXXXXXXXXKK000Okxdooc:;''',;cc::clodxO000Okxdlcccc:;:loxxkOO000KKKKKKKKKKKK0Okxolcc:..',',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'',,'..                                         
                                          ..',,'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''..,xKKKKOkxdxxkxc...',cdxkxxxxkkO0KKKKKXXXXXXKKKK00Okxdooolc;'.',cdOOxl::cldxOKKKKK0Oxoc::c:,,;cloodxxkkO00000000OOkxolccccl,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'..                                           
                                            ..',',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'',,...,lkOOOkkkxxxd'....,lxxxxxxxxxkO00KKKKKKKKK000Okxdoollll:,'':x0KXXKOdlclodOKXNNXXKK0Odc:coo;.';:ccccclloddxxxxxdolc:::ccldl..',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',,'..                                             
                                              ..',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''..:dxxxxddddxd:..'..,lxkxxdddoodxkkO0000000Okkdolcccccc:,,,,:ONNNNKOxollook0XNNNNXKKK0ko::lxx:'.'';;;;;;;;::cccccc:::::clxkc..,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',,,'..                                               
                                                ..','',,'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,'..lOkxxxddool'....',lxkxxxdolllooodxxkkkxdolc::;::::;,,;c:,dXXXXXOxdollodkKXNNNNXXK0Oxl::lxxc:c:'..',,,,,,;;;;:::::cclox0k,.',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'..                                                 
                                                  ..',,,'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'..cxO0Okxdo:..'...,cxkkkxxdolccccllllllc:::;;;;;,'',;:ldo:lOKXKkl:,'',;cdkO0KK0OOkxdlc:;;cloxkxdc;'...',,,;;;::cloodxO0Oc..',,,,,,,,,,,,,,,,,,,,',,,,,,,,,'','..                                                   
                                                    ..',,'''',,,,,,,,,,,,,,,,,,''',,,,,,''..';:cc:,....'...':dkkkkkkxdolcccccc:::;;;;,'''',;:cloxkdccllc;'.......,codddollll::;',:c:colloc:;,'...',;::cldxkkOKK0l..','',,,,,,,,,,,,,,,,,,,,,,,,,''','..                                                     
                                                      ..'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''..........'...';okOOO0OOkxxdolllc:::;;'''',,;;;;:olodlcc:;,'..........,cllcc:::;,,,''...,;;;:c;,,'...,;:lodxO000K0c..''',,,',,,,,,,,,,,,,,,,,,,,''',,'..                                                       
                                                        ..',,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'...'.''';:okO0K000OOkxxdollc:,.....',,,,,ll:cc;,;::;'....      .,codddoc;'''....';:ccccc;,,...,:loxkO00KKOl..','',,,,,,,,,,,,,,,,,,,,,,,,,,,'..                                                         
                                                          ..''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,',',,'...,''',,:lodO0KKKKKKK0kdol;'.......',;,;ccllcc::llc;,.....    ..';::;,'''',,;:clool:;,,'.....;dkO0K00OOOd;..',',,,,,,,,,,,,,,,,,,,,,,,,,'...                                                           
                                                            ..',,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''...''.',;;:ldk0KXXXNNX0xo;.........'',:coxxkkxxkkkxxdoc,''............,;cllclllc;'....,;'...'o0KXXXKOkdoc,..',',,,,,,,,,,,,,,,,,,,,,,,''.                                                              
                                                              ..',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'...'..','';cldkO0XNNNNKOd:...','..'''..,,,;:::ccccclllllcc:::::::::::lolc:;;:cc;...;oxd:,',:o0XXNNK0kdc:;'...,',,,,,,,,,,,,,,,,,,'','..                                                                
                                                                ..'',,',,,,,,,,,,,,,,,,,,,,,,,,,,,,','.....'''',:cldxkKXXXXXKOo,.''';:lk0Od:'. .:odxxxdddoollllllllllooooooooodxk0Ol..;ok0Oo;,,:d0NNNNK0ko:;;;....,,,,,,,,,,,,,,,,,,',,'..                                                                  
                                                                  ..'''',,,,,,,,,,,,,,,,,,,,,,,,,,,,','........';;:lddk00KKXXKOl;,'';lkKNNNX0o;..cOXNNNNWWWWWNNNNNNNNNXXXXXNWWWWW0c';oxOK0ko:,:dOKNNNKOxol:;,,....',,'',,,,,,,,,'',,,'..                                                                    
                                                                    ..'',,,',,,,,,,,,,,,,,,,,,,,,,,,,,'........',,;coodxkO0KKK0dc;'',cxOKNNNNNKxc;:oxkkO00KXNNWWWWMMWWWWWWNXK0OOxc;oxkOKKOkd:,lkKNNXKOdlcc:,''...',,,,,,,,,,,,,,'','..                                                                      
                                                                      ...',,',,,,,,,,,,,,,,,,,,,,,,,,,''.. ....'''';cclodxk00K0ko:'.'cxkO0KNNNNNXkc;;;,;;;:ccllloooooooolcc:;;;;:oxkk0XX0kdl;,lk0XKOxol::;,,,...',,',,',,,,,,'',,'..                                                                        
                                                                        ..'''',,,,,,,,,,,,,,,,,,,,,,,,,''.  ......',;;:clodkO00Odl;,,:dxxkO0XNNNNNKkdllcc::;;;,,,,,,,,,,,,;::cldxkkO0KXKOdc:,,ldxOkollccc;',...',',,,,',,,,'',''..                                                                          
                                                                          ..'',,,,,,,,,,,,,,,,,,,,,,,,,,,'.. ......',,;::clldkOOkd:;,,codxkk0XNNNNNXKOkxddddxxxxxxdxddddxxxdxxxxxkOKXXX0kl;;,;clloolcc::c;'...',,'',,,,,,,,,,'..                                                                            
                                                                            ..'',,,,,,,,,,,,,,,,,,,,,,,,,'''.. .....'',;;::;codkOdlc,';cldxxkOKXNXXXXXKKOxddkOO00000Okkkkkxxxxdxk0KXXKKOdc;,,,;::cll:,,;,...'',,,'',,,,,'',,'.                                                                              
                                                                             ..'',,,,,,,,,,,,,,,,,,,,,,',,,,'.. .....',;,',:ollxxllc,';:lodddxOXXXXXXXXXKK0Oxdddddddoddddddxxkk0KKKKXK0koc;'','',;cc;''....'',,',,,,,,,,,,,'.                                                                               
                                                                             ..'',,,,,,,,,,,,,,,,,,,,,,,,,,,,''.. ...'','',:c:lxocl:,',:cloooxOKXXXXXXXXKKK0klooooooooooooooooxO0KKKK0Oxoc:;,,,,,,,;,....'',,,,,,,,'',,,,,,'.                                                                               
                                                                             .',',,,,,,,,,,,,,,,,,,,,,,,,,,,'',,'.. ...''';:;;ldl:;,,'',:cloodOKXXXXXXXXKK0Okdl:;;;;;;;;;,;;:lxO000KK0Odl:;:;;:;,;,....'''',,,,,,,,,,,,,',''..                                                                              
                                                                             .',',,,,,,,,,,,,,,,,,,,,,,,,,'',,,',''..  ....',;;c:,,;;'.',:clldk0KXXXXXXXXK0xddl;,,,''',,,;;;;:okO0KK0Oxoc:::::;:;'...''',,'',,,,,,,,,,,',,,,'.                                                                              
                                                                            ..,'',,,,,,,,,,,,,,,,,,,,,,,,,,''........  .. ..',,:'.,,..'.',;clodk0KKXXXXXXX0kdl:;''.......''.',ck000Odolc::c;;:;'...',''',,,,,,,,,,,,',,',,','.                                                                              
                                                                            .',',,,,,,,,,,,,,,,,,,,,',,,'............  ';'. ..,:'.,'.;;'..,;:clxOOk0KKXXXXK0Okdl::,'''''',,,;cdO0Okoccccc;;:;,...'',,,,,,,,,,,,,,,,,,,,,,,',,..                                                                             
                                                                            .''',,,,,,,,,,,,,,,,,,,'','.......''''..'. .,:,'.........;,'..,,,:clodxOOKKXXXXXKK0xxxolloolooodxkOkkxl::::;:;,;'...'''',,,,,,,,,,,,,,,,,,,,',,','.                                                                             
                                                                           .','',,,,,,,,,,,,,,,,',,,'...';::;,'''.....  ';;,,,'......',...,..,::clodxOO0XXXXXXXKKK0OkO0000Okkxdoloc:;;c:,;,'. ..'',''',,,'',,,,,,,,,,,,,'''','.                                                                             
                                                                           .,,',,,,,,,,,,,,,,,,,,'',...:llccc:,,'.....  .;;;,,,,'.. ......'..';;clccldxkO0KKKKKXXXK0O000Okkdoolcc::c:;::,,:' .....'',,,'','',,,,,,,,,,,,,,,,,'..                                                                            
                                                                           .'',,,,,,,,,,,,,,,,,,,,'...:llooolc:;''..... .:;;;;,,,,'.  ....''.',,:l:;cllodxkkO0OO000kxxxxdddlcc:::;,;:;';;,. .,:;'...',,,,,,',,,,,,,,,,'',,,,,,'.                                                                            
                                                                          ..'',,,,,,,,,,,,,,,,,,,,...:loodxxxol:,''.... .:c:;;;;;;,,'......,;''';l;,::;;clcloolllooccoolclc:;,,..''.,,'::. .';:cc:'...',,,,,,,,,,,,,,,,,,,,,',,.                                                                            
                                                                          .'''',,,,,,,,,,,,,,,,','..,lodxO0Okxol:,''''. .cllccc:::;;,,'.....;''''cc,;:;,,lc::;,,;;::,cl;;,''.........'''. .,;:cllol:...',,,,'',,,,,,,,,,,,,,,,,..                                                                           
                                                                          .''',,,,,,,,,,,,,,,,'',..':ldk0KK0Oxxdl:,,''. .:oollllollc:;:;'.  ...'.'c:',;:,,cc;,',c:::';:,............... .':llllllllll,...',,'',,,,,,,,,,,,,,,','.                                                                           
                                                                         ..',',,,,,,,,,,,,,,,,,,'..;llx0KKXKOkxxdlc;'.. .:llloodxddoooollc:,.......'...,;,,,;,..,;'''''.............  ..;:loxxxdoollll,...',',,,,,,,,,,,,,,,,'''.                                                                           
                                                                         .',,',,,,,,,,,,,,''''','..;lox0KXXK0kxxxdol;'. .collodxkkkxxxddddoool:,... ....',,'.,,'................... .',;:coxkOOkxddooll,..',,,,,,,,,,,,,,,,,,'''..                                                                          
                                                                         .',,',,,,,,,,,,,,,'''','..;loxOKXXXKOxxxxxdlc'..clllooxkkOOOOOkkxxxxdddoc:;'........................,:coc..',,;:ldkOO00Okxdoool'..',,,,,,,,,,,,,,,,,''''.                                                                          
                                                                        ..,,,,,',,,,,,,,,,,,'',,'..,lodOKXXXXKOxdxxdddl,..:lloodkOOO00000OOkkxxxdoollccc:;,'''''',,;;;;:cclodxxkx;..,,,;codkO0K00OOkdooo:...,,,'',,,,,,,,,,,,'','.                                                                          
                                                                        .',,,,,,,,,,,,,,,,',,,'..  .:ldk0KXXXXKOxxddddoo:..,:looxkkkO00KK000OOOkkxxddollllllllllllooooodddxxxxkk:..'',,:codk0KKK0OOkdoool. .',,,,',,,,,,,,,,,,'''..                                                                         
                                                                        .,',,,,,,,,,,,,''''....... .':lxOKXXXXXKOkxxddddol:..';ldxxkkO00000K000000OOkkkxxxddddddddxxkkkOOOOOkkOo..''',;cldx0KKKK00Oxdoool,..''',,,,,,,,,,,'',,''''.                                                                         
                                                                       ..,,,,,,,,'',''..... ....... .;:ok0KKXXXXK0kxddddooooc,..':oxkOO000000K00KKKKK000000O000000000000K0OkOOo'.',',;:coxOKKKKK0Okdoolol' .''',,,,,,,,,,,,,,,''',.                                                                         
                                                                       .',,',,',''....  .........'. .';cdO00KKXXXXK0kxdddoooool:'..';lxO000000000KKKKKKKKKKK0000000KKKKKK0OOOo..','',:coxOKKKKKK0kdoolll:. ..',,'',,,,',,,,'',,,,,'.                                                                        
                                                                       .','',,'...  .........'...... .,;lxOO0KKXXXKK0Okxddddoddoool:;'';lk00000000KKKXXXKKKKKKKKKKKKKXXKK0OOo..','',:ldkO0KKKKK0Oxoolcc:. ......'''',,,,,,,,'',,,,'.                                                                        
                                                                      .',,,''..  .....................',:oxkO00KKKKKK00Okxxdddooooooolc;'':dO000000KKXXXXXXXXXXXKXXXXXXK0OOd...'',;coxkO00000K0Oxdolc:;. .,;'.......',,,''',,,,,'''.                                                                        
                                                                      .''''..  ........................,;:ldkOOO0000000OOOkxdolc:;;,,,;:::;,;dO000000KKKXXXXXXXXXXXXXXXKO0k, .,',:ldkkOO00000Okxdooc:;. .,,,,,,'... ...'','',,,,,','.                                                                       
                                                                      .'...  ...........................,;:lodxkOOOOOOOOkko:,........  ...';,'ck00000KKKKXXXXXXXXXXXXXK0OOl. ',;coxkkOOOOOOOkkxddol:,...,,,,,''',,''......'',,,',,,'.                                                                       
                                                                      ..   ............................ .,;:codxxkkkkkdo:'.....................,xOkdllox0XXXXXXXXXXXXXK00x' .;:codxxxxxdolcccccclc;'.',;;,,'''''''',,''......',,'',,.                                                                       
                                                                         ............................... ..,:looddxxoc,'..'''''...'.....'''...  .'.    ..:oOKXXXXXXXXX0OOl. ,::c:;,'...............';;::;;;,''''''''''''''.....'',,,'.                                                                      
                                                                       .....''...............................,:clol:'..,;,,'''''.'''''..''....             .'cdOKXXXXXK0k:..,'..  ................,:::::;;;;,,,'''',,',,,,,,'....'','.                                                                      
                                                                      .'''''''''''......................''''...';:,..,;;;,,,,''''''''''...                     .,cx0XXK0O:. .. ....'..''''''''',,,;:::::;;;;;;;,,,,,,,,,,,,,,,'....',..                                                                     
                                                                    ..'''''''''''''''...................''',,;,,,;,,;;;;;;;,,,,,'''...                             .;ldkOc. ...'....'''''',,,,,;;;:::;;;;;;;;;;,,,,,,,,,;,,,,;;,'. ..'.                                                                     
                                                                    .''''''''''''''''''''''...........''''''',,,,,,,,,;;;;;::;,'..                                     .,. .'''.....'''',,,;;;;;;;;;;;;;,,,,,,,,,,,,,,,;;;;;;;;;;,.  ..                                                                     
                                                                    .'''''''''''''''''''''''''''''''''''''''',,,,,,,,,,,,;;:;'.                                             .......'''',,,,;;;;;,,,,,,,,,,,,,,,'''',,,,,,,;;;;;;;;,..                                                                       
                                                                   ..'''''''''''''''''''''''''''''''''''''''','','',,,,,'..                                                     ...'',,,,,,,,,,,,,,,,,,,,,,'''''''''''',,,,,;;;;;;;;'.                                                                      
                                                                   .''''''''''''''''''''''''''''''','''''''',''''''''..                                                             ..',,,,'',,'''''',,,'''''''''''..'''',,,,;;;;;;;;'.                                                                     
                                                                   .,''''''''''''''''''''''''',,,,,',,,',,,,,,,'...                                                                    ...'''''''''''''''''''''.......'''''',,,;;;;;;;,.                                                                    
                                                                  .'''''''''''''''''''''''''',,,,,,',,,,,,,''...                                                                           ...''''''''''''''........'''''''''',,,;;;,;;'.                                                                   
                                                                  .''''''''''''''''''''''''''',,,,,,,,,,'...                                                                                   ....'''''...........'''''''''''''',,,,;;,.                                                                   
                                                                  .'''''''''''.......''''''''',,,,,,''..                                                                                           ....'''........'''''''''''''''''',,,,.                                                                   
                                                                 .',''''''''''''.....'''''''',,,''..                                                                                                   ....'......''''''''''''''''''',,,'.                                                                  
                                                                 .,'''''''''''''...'''''''',,'..                                                                                                           .....''''''''''''''''''''''','.                                                                  
                                                                 .,'''''''''''...'''''''''...                                                                                                                  ...''''''''''''''''''''','.                                                                  
                                                                .''''''''''''...''''''...                                                                                                                         ...''''''''''''','''',,'                                                                  
                                                                .''''''''''...''''...                                                                                                                                 ..'''''''''',,,,,,,,.                                                                 
                                                                .'''''''...''....                                                                                                                                         ..''',,,,,,,,,,,.                                                                 
                                                               .''''..''.....                                                                                                                                                ...',,,,;;;;;,.                                                                
                                                               .''''''...                                                                                                                                                        ..',;:;;;;.                                                                
                                                               .''...                                                                                                                                                                .',;::'                                                                
                                                              ....                                                                                                                                                                      ..''.           

*/

pragma solidity ^0.8;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval (address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract BaldAndBankrupt is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _taxWallet;
    uint256 firstBlock;

    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=15;
    uint256 private _finalBuyTax=3;
    uint256 private _finalSellTax=3;
    uint256 private _reduceBuyTaxAt=15;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = "Bald And Bankrupt";
    string private constant _symbol = "BNB";
    uint256 public _maxTxAmount =   20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 10000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 10000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {

        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                if (firstBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

    receive() external payable {}

}