''',''''..............'.'..'''''''''''''''''''''''''''''','',,,,,,,;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''''''''',,,,,,,,,,,,,,,,,,,,,;;::::::;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;,;;,;,,;;;;;;;;:coddlc:;;;;;;;;;;;;::::::cllloddddxxxddddddddddoooooooooooooooooolooooloooloooolol
''''''''.............'..''..''''''''''''''''''''''''''''''',,',,,,,;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''''''''',,,,,,,,,,,,,,,,,,,,,;::::::;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;,;;;;;:coodoc::;;;;;;;;;;;::::::ccllooddddxxxxxxdddddddddddooooooooooooooooooooolooloollllll
'''''''''................'...'.'''''''''''''''''''''''''''',,,,,,,,,;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;,,,,,,,,,,,,,,,,,,,,,,''''''''',,,,,,,,,,,,,,,,,,,,,,,::::::;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;,,,,;;;,;;;:lodolc:;;;;;;;;;;;;;;::::cclloodddxxxxxxxxxxdddddddodddooooooooooooooooooooooooooolllllc
''''''''''................'...'''''''''''''''''''''''',''',,,,,,,,,,;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',''''''''',,,,,,,,,,,,,,,,,,,,,,;::::::;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;;:cloooc:;;;;;;;;;;;;;;;::::cclloodddxxxxxxxxxxxxxddddddddddooooooooooooooooooooooolloolllllc;
....'''''''............'..''..''''''''''''''''''''''''''',',,,',,,,,;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',,,,,,..'.......'''',,,,,,,,,,,,,,,,,,,,,;:::::;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;:looolc;;;;;;;;;;;;;;;;:::cccllooddxxxxxxxxxxxxxxxxxxdddddddddddooooooooooooooooooolooloollllc;'
....''''''''...............''..''.''''''''''''''''''''''','',,,,,,,,;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'',,,'.'.................',,,,,,,,,,,,,,,;;:::::;;,,,,,,,,,,,,,,,,,,,,,,,,,,;,,;;;:cooolc:;;;;;;;;;;;;;;;;:::cclloooddxxxxxxxxxxxxxxxxxxxxddddddddddddoooooooooooooooooollooololllc,''
.....'''''''................'...''.'''''''''''''''''''''',,''',,,,,,,;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''',,'.'...........  .......',,,,,,,,,,,,,;;:::::;;,,,,,,,,,,,,,,,,,,,,,,,,,,;;;cloooc:;;;;;,;;;;;;;;;;;::ccllloodddxxxxkxxxxxxxxxxxxxxxxxxdddddddddddddooooooooooooooooooololllll:,'''
 .....'''''''...............''....''.''''''''''''''''''''','',,,',,,,;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''''',,,'.........................',,,,,,,,,,,;::::::;,,,,,,,,,,,,,,,,,,,,,,,;;;:coool::;;;;,;,,;;;;;;;;:::ccllooddxxxxxxkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddoooooooooooooooooolllll:,''''
 ......'''''''...............''..''''..'''''''''''''''''''',,',,,,,,,,;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''''''''...',',,',,,,,''','.,,,,'...'................... ....,,,,,,,,,,;::::::;,,,,,,,,,,,,,,,,,,,,;;:cloolc:;;,,,,;,;;;;;;;;:::ccllooddxxxxxxxkxkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddoodoooooooooooolloolllc;''''''
 .......'''''''..............'''..''.'''''''''''''''''''''',,,''',,,,,;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,'....''''''''''........'.''''''.'''''.'...........................',,,,,,,,;:::::;;,,,,,,,,,,,,,,,,,;;:lodoc:;,,,,,,,,,;;;;;;;::cclllodddxxxxxxxkkxkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoooooooooooooooollllc;'''''''
 ........'''''''...............'...'''.'''''''''''''''''''',',,'',,,,,,;;;;;,,,,,,,,,,,,,,,,,,,,,,,,'..','''''''''''''',''''''.....'...'''.............................'',,,,,,,,;::;::;,,,,,,,,,,,,,,,;:coool:;;,,,,,,,,,;;;;;;;::cclloodddxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddoooooooooooooooollll:,''''''''
  ........'''''''...............'...''''''''''''''''''''','',,,',',,,,,;;;;;,,,,,,,,,,,,,,,,,,,,,,'.',,'''''''''''''''''''......'''''....................................'''',,,;::::;;;;,,,,,,,,,,;;:loolc:;;,,,,,,,,,,,;;;;::cclloodddxxxxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddddddddooooooooooooooollllllc:,.''''''''
  ........'''''''''.............''..'''''''''''''''''''''''',,,,,',,',,,;;;;;,,,,,,,,,,,,,,,,,,,'.','''...''''''''''''................................................'..,,,''',,;;::;,;,,,,,,,;;:loooc:;;,,,,,,,,,,,,;;;;::ccllooddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddoodooooooooooooollllc;'''''''''''
   ........'','''''............'.'...''''''''''''''''''''',,'',,,,,,,,,,;;;;;,,,,,,,,,,,,,,,,,,..,'.''''''''''''''''.................................................'....''.'.',,;;,,''',,,;:cloolc:;,,,,,,,,,,,;;;;;::ccllooddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoooooooooooooolllc;'''''''''''''
   .........',''''''...........'.''..'''''''''''''''''',',,,'',,,,,,,,,,,;;;;;,,,,,,,,,,,,,,,'.''..'''',,,,''''''''.............................. ..........................''..'''''.',,;:::cc:;;,,,,,,,,,,,,,;;;:::ccllooddddxxxxxxxxxxxxxxxxxxxxxxxxxxxddooxxxxxxxxxxxxxdxxdddddddddddddddoooooooooooooolll:,''''''''''''''
    .........'''''''''..........''''..''''''''''''''',,,','',,,,,,,,,,,,,;;;;;,,,,,,,,,,,,,,'.'..,'',,,,,''''....'.............................   ...............................',,,',;;::,'...'',,,,,,,,,,;;;:ccclooodddddxxxxxxxxxxxxxxxxxxxxxxxxxxdoolc::;cdxxxxxxxxxdddddddddddddddddddooooooooooooollc:,..''''''''''''''
     .........''','''''.....'''''''''.''''''''''''''''',,,,,,,,,,,,,,,,,,;;;;;,,,,,,,,,,,,,'.'.','',,,,'''.''.......................... ..  .     ...............................''.''',,'.''.......''',,,;::cclloooddddxxxxxxxxxxxxxxxxxxxxxxxxxxddolc:;;;;;,,cdxxxxxxddddddddddddddodododooooooooooooolc;'...'''''''''''''''
      ........'','''''''''''''''.''',,,'''''''''',',,,',,,,,,,,,,,,,,,,,,;;;:;;,,,,,,,,,,,'.'.',',,,''..........................                 .........  ...........................................,;:::cloodddddddddddddddxxxxxxxxxxxxxxdddolc:;,,''',,,,''cddddddddddddddddddoooooooooooooooooollc;'....''''''''''''''''
       ........''',,,,''''''''''''''',;;;;,,,',,,,;::::::::::;;;;;;;;;,;,;;;:;;;,,,,,,,,,'.'.'''''.....................                         ...  ..   ...............................................'coooodddddddddddddddddxddddxxxxdddolc:,'...............:dddddddddddddddooooooooooooooooolll:,'.....'''''''''''''''''
       .........'',,,,,,,'''''''''''''',;:ccccclllc::::ccccccllllllllllllllc:::;;,,,,,,,,.''.''....................       .             ....................................................................:ododdddddddddddddddddddddddolc;,'....................;oddddddoddddooooooooooooooooollc;'......'''''''''''''''''''
        ........'',,;,;;,,,''''''''''''',,,,,;;;,,,,,,,,,,,,,;;;,;;;;;;;;:cloollc:;;;;;,',,........''...........                 .........................................................................''..,coodddddddddddddddddoolc;,'.........................,oddddodoooooooooooooooooollc;'.......'''''''''''''''''',',
        .........'',;;;;;;;;,,,,''',',,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;::cclcllllll;:c;'..';;'..','.........               .........''.'','''',,,,,''''''..............................................''...,:ldddddddddddoolc:;,'..............................'loooooooooooooooooooollc;'.......'.''''''''''''''''''',,,
         ......''''',;;::::::;;;,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;,'',.....'....'''........              .....',,;,;:::;:cc:c:cclllcccccc:;,;,'''........................................''...':coddddoollc:;,'....................................coooooooooooooollllc;'.............'''.'''''''''''''',,,
        .....''''''',;;:::cccc:::;;;;;;;,,;,;;;,;;;;;;;;:;;;;;;:;;;;;;;;;:::::::;;,;,'.'.........''.........            ....,;:clllooooodoooddddddooooddddddoollccc::;;,,'''..............................'..''....;collc:;;,'.........................................;looooooollllll:;'................''..'''''''''''',,,,,
       ....'',,,;;;;;;;:cccccllccccc:::::;;;;;;;;;;;:::ccccccccccc:::::::::cccc:;;;;'.'....................           ..';cloodddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxddddolllcc::;;;,'...........................','...';;,''..............................................';clllllllc;,'.................'''.'''''''''''',,,,,,,
     ....',;;:ccllllooollclllllllollllllllccc:::cccclloooooooooooooooolllllllllc:;;,''.''.................     .   ..',:looddddddddxxxdxxxxxxxxxxxxxxxxxxkxxxxxxxxxxxxxxddddddoooolc:;,'...................................................................................',,,,'.....................'''.''''''''''''',,,,,,,
    ....',;:cllooodddddolllllooooooooodddoooooooooooddxxxxxxxxxxxxxxxxxxxxxdddool:,;;.;'.................        ..,;clooddxdxxxxxxxxxxxxxxxxxkkxxkkkkkkkkkxxxxxxxxxxxxddxxxxxxxdxdddoolc;,'........ ................................................................................................'...'''''''''''',,,,,,,,,
......',;:cllooddddxxdollllloooooooddddxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdoccc,::.................       ..,:looddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkxxxxkxxxxxxxxxxxxxxxxdddddoolc:,.....  ..................................................................................................'''''''''''',',,,,,,,,,
;;;:cclooddddxxxxxxdolcllllooooodddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdolc;oc...'','...........     ..,:looddddxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxdddddollc:;'.... ................................................................................................''''''''''''''',,,,,,,,,
xxxxxxxxxxkkkxxdolcccccllloooddddddxxxxxxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddlclcol..'cc,'............   ..,:cloddddxxxxkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkOkkkkkkkkkkkkkkkkkxxxxxxxxxxddddooolc:;'... .   ........................................................................................'..''''''''''''',',,,,,,,,,
xxxxxxddoollc:;;;;;;:ccclloooddddxxxxxxxxxxkkkkkkkkkkxkkkkxxxkkxxxxxxxxxxxxxdolldcl;.';co:'............. ..,:cloddddxxxxkkkkkkkkkOOOOkkkkOkOkkkOOOOOOOOOOOOOOOOOOkOkkkkkkkkkkkxkkkxxxdxddddddoollc:;'.....  ..........................................................................................''''''''''',,,,,,,,,,,,,
,,,,,,'''''''',,,,;;;::cclllooodddxxxxxkkkkkkkkkkkkkkkkkkkxkkxkxxxxxxxxxxxxxo:locc'.'cll;,...............';cloodddxxxxxkkkkkkkOOOOOOOkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkxxxxxdxddddooollc:;,...  ......................................................................................''''''''''''''',,,,,,,,,,,,,
'''''''.''''''''',,,,;;;::ccclloooddddxxxxxxxxxxxkxxxxxxkxxxxxxxxxxxxxxxxxxxlcol;,.:ol:,,......... .. .',:loodddxxxxxkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO0OO00OOOOOOOOOOOOOOOOkkkkkkkxxxxxxxddddooollcc:;'.. ....................................................................................'''''''''''''''''',,,,,,,,,,,,
.....................'''',,;;;::cccllllooooddddddddddddddddddddddxdddxxdxdddcdc;;.colc;,..............';cloodddxxxxkkkkOkOOOOOOOOOOO0OOOOOO00000O0OOOOO000OOOOOOOOOOOOOkOOOOOOkkkkkkxxxxxxxxxddddoolllcc:,.....................................................................................'''''''''''''''',,,,,,,,,,,,,,,
                    .............'',,,;;;::::ccccccccccclllllllllllloloooloo:;';.:cll;'..............';coodddxxxxkkkkkOOOOOOOOOOOOOO0OOO0OOO00OOOOOOOOOOOOOO00OOOOOOOOOOOOOOOOkkkkkkkkxxxxxxxxxddooooollc:;'................................................................................'.'''''''''''''''',,,,,,,,,,,,,,,,
                           ...................'''''''',,,,,,,,,;;;;;;;;;;::;..'.,;:;................';lodddxxxxxkkkkkOOOOOOOOOOO000000000000000000000000OOO000000OOOOOOOOOOOOkkOkkkkkkkxxxxxxxxddddooooollc:,................................................................................'''''''''''''''''',,,,,,,,,,,,,,,
                                                   .............................''.................,:lodddxxxxkkkkkkOOOOOOOOOO00000000000000000000000K0000000000000OOOOOOOOOOOkOkkkkkkkkkxxxxxxxxxdddoooollc:,.............................................................................''''''''''''''''',''',,,,,,,,,,,,,,
                                                                        ........... ..............,:lddddxxxxxkkkkkkOOOOO00O000000000000000000000000KKK00000000000OOOOOOOOOOOOOOOkkkkkkkkxxxxxxxxxxddddoooolc:,............................................................................'''''''''''''''',,',,,,,,,,,,,,,;;;
                                                                               ... ......... ....;cldddxxxxkkkkkOOkOOOOOO00000000000000000000K00000KKK000000000000OOOOOOOOOOOOOkkkkkkkkkkkkxxxxxxxxxxxddoooolc:;'........................................................................'''''''''''''''',,,,,,,,,,,,,,,,,,,;;
                                                                                 .. ............;coddddxxxxkkkkkOOOOOOOOOO0000000000000000000000000KKKK0000000000OOOOOOOOOOOOOkkkkkkkkkkkkkkxxxxxxxxxxxdddooolc:;'.......................................................................''''''''''''''',,,,,,,,,,,,,,,,,,,;;;
                                                                                  ...... .....';coddxxxxxkkkkkkkOOOOOOOOOO00OO0000000000000000000000000000000O0O000OOOOOOOOOOkkkkkkkkkkkkkkkkkxxxxxxxxxxdddoollc:,'.....................................................................''''''''''''''',,,,,,,,,,,,,,,,,,,;;;;
                             .   .              .                                     .. ....';codddxxxkkkkkkkkOOOOOOOOOO0OOOO0000000000000000000000000000000OOOOO0OOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkxxxxxxxddoollc:,'............''....................................................'.''''''''''''''',,,,,,,,,,,,,,,;;;;;;;;
                      ..  ..                    .                             ...    .  ....';codddxxkkkkkkkkkkkOOOOOOOOOOOOOO0OO0O00000000000000000000000000OOO00000OOOOOOOOOOOOkkkkkkkkkkkkkkkkkkxxxxxxxxdddolc:;,'............''..................................................''''''''''''''''''''',,,,,,,,,,,,,,;;;;;;
                           .                 .        ..                 ......     . ......;cooddxxxkkkkkkkkkOOOOOOOOOOOOO000000000000000000000000000000000000000000OOOOOOOOOOOOkkkOkkkkkkkkkkkkkkkkxxxxxxddddolc:;,'............''................................................''''''''''''''''''',,,,,,,,,,,,,,;;,;;;;;;
                               ..      ....    .  ..... .. .  ... .   .. ....       .......,:loddxxxkkkkkkkkkOOOOOOOOOO000000000000000000000000000000K0K000000000000OOO0OOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkxxxxxdddooc:;,''............''..............................................'''''''''''''''''''',,,,,,,,,,,,,,;;;;;;;;;
        .. ..   ........ .........................................  ..  ....     .........':loddxxxxkkkkkkkOOOOOOOOOOOO0000000000000KKKK00KKK0000000000000000K00000000O00OOOOOOOOOOOOOOOOOkkkkkkkkkkkkkxxxxxxxdddoc:;,'.........'..'.'.............................................'''''''''''''''''',,,,,,,,,,,,,,,,;;;;;;;;;
   ..   . ....  .. ..............................................     .....         ......;codddxxxkkkkkOOOOOOOOOOOOOOOOOO00000000K0KKKKKKKKK00000K0000000KKKKK0000000000OOOOOOOOOOOOOOOOOOkkkkkkkkkkxxxxxxxxxxdddlc:;,'.........'.''''...........................................'''''''''''''''',,,,,,,,,,,,,,,;;;;;;;;;;;;:
                   ...... ......................................       ...    .    ......,coddddxxkkkkkkOkOOOOOOOOOOOOOO00000000KK0KK00K0K0K00000000000000KKKKK000000000OOOOOkOOOOOOOOOOOOOOOkkkkkkkkkkxxxxxxxxxddol:;,'''...'....'''''''.........................................'''''''''''''',,,,,,,,,,,,,;;;;;;;;;;;;;;;:;
                                       .   ....................       ...   ..     ......;lodddxxxxkkkkkOkkkkOOOOO0O0000O0000000KK00000000000000000000000000K00000000OOOOOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkxxxxxxxxxddo:;,'''''..'...''',''''......................................'.'''''''''''',,,,,,,,,,,,,,;;;;;;;;;;;;;;;:::
                                                        . .....      ...   .. ..  ......':oodddxxxxkkkkxxxdxxxxkkOOOOOOkkkkkkkOOO0OkO0O000000OOO000000000000000000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkxxxxxdoc;,,'.''...'.'','',''''...................................''''''''''''''',',,,,,,,,,,,;;;;;;;;;;;;;;;:::::
                                                                     ..   ..............;loddddxxxkxdoollllooodddxxxdoooooooooodxkkxxkkOOOOOOOOOOOO000OOOOOOOOkkOOOOkkkkkkOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkxxxxxddl:,''..''.....','.,,''''.................................''''''''''''''''''',,,,,,,,,;;;;;;;;;;;;;;;;:::::
                                                                    .    ..............':ooodddxxxdllccc::ccccccccccc:::::::::lcloddddxkkkkkkkOOOOOOOOOOOOkkkxxkkkkkkkkkkkkxxxxkkkxkxxxxxxxdddddddooddxkkkxxxxxxxdddoc,'''.''.....'',',,''''.................................''''''''''''''''',,,,,,,,,,,;;;;;;;;;;;;;;;::::::
                                                                        ...............,looddddool:c:::cc::::::;;;,,,,,,,,,,;;;;:cllloooxxxxxxkkkkkkkkkkkkxxxxxxxxxxxdxxdoollllllllllllllllooooooloolllodxkxxkxxxxddoc;'''.''.....'',,,,'''''..............................'.''''''''''''''',',,,,,,,,,,;;;;;;;;;;;;;;::::::::
                                                                       . ..............:oooddoc:;;;:ccclllllcc:::;;,,'''''''',,;;:::ccllodddxxxxxxxkxkkkxxxxddddddooolllc:::::;;;;;;;:;;:::clllllccccccccloxxkkxxxddol;''''''.....'',,',''''.'...........................'..''''''''''''''',,,,,,,,,,,,,;;;;;;;;;;;;::::::::::
                                                                      .  ..............cooddoc:;;:cclodddxxxddoollc::;,'''''',,,,;;;::ccllooddddxxxxxxxxxddooollllcccc::;,,,,''''''''',,,;;;;::::::::::ccclloxxxxxddol:'....'......'';''''''.'...........................''''''''''''''',,',,,,,,,,,,,,;;;;;;;;;;;;;::::::::::
                                                                      .  .............'loodoc::ccloddxxxxkkkkkkOkkkkxdolc:;;,,,,,,,,;;;::ccloodddxxxxxxddoolllccc:::;;,,,,,''''......''',,,,;;;::ccc::::::clllxxxxdddlc,...........'',''''''.''................'........'''''''''''''''',,,,,,,,,,,,,,,;;;;;;;;;;;;:::::::::::
                                                                      . ..............'loooocclloodddddxxxxxkkkxdoolcc::;;;;;;;;;;;;;;;;::clloddxxxxkxxddoolcc::;;;,,,,'''''''''',,;;:ccloooooooollllcccccccccldxxdddoc;............'''''''''.'.............'..........'''''''''''''''',,,,,,,,,,,,,,,,;;;;;;;;;;:;;::::::::::
                                                                        . ..'.........,ooollooooddddddddoolc:::ccloodooolc::;,,,;;::::::ccllodxxkOOOOOkkxxdolc:;;,,,,,,,,,,,,,,,;;;:cclodxxxxxxxdddoooooollllllloddddol;'...........'''''.'''.,.........''''...........''''''''''''''',,,,,,,,,,,,,,,;;;;;;;;;;;::::::::::::::
                                                                        . ............;odolloooooooooolc;,;:clllc:;;,,,;;;;:cc:;;,;;:ccclooddxkO000KK00OOkxdolc::;;;;;;;;,;,,;:cclooooolcc::clodddddddooooololloodddddo:'............'.''.''..,........'............'''''''''''''''',,,,,,,,,,,,,,;;;;;;;;;;;;;;::::::::::cccc
.                                                                          ...........codoooooolllllc:;';cc:,'....,;:l;'...',,;:ccc::cclodxxkkOO000KKK00OOkxdolccc::;;;;;;;:lodddoooocoooooolc:;;:cloddooooooooodoodddoc,...............'.''..',...................''''''''''''''''',,,,,,,,,,,,;;;;;;;;;;;;;;;:::::::::cccccc
                                                                            .........'ldddooooollcc:;,';;,..';c;'',,...'',,;ll:;;:cldddddxkkkkOO0000K000OOkkdolllcc::::cloool:;,'.',;'....',;cllc:,,;:loooooooddoooddddl;...'..............''..,'................''''''''''''''''''',,,,,,,,,,,,;;;;;;;;;;;;;;:::::::::cc:cccc
.                                                                            ........;odddddddoolc:;,'''..';cll:'',''..,;:;:dxdl::;;cxOOOkkkOOOOOO00000OOOkkdooollllodddlc:;:lo:':lc:;'.'..''''',;:;,;::clllooodooodxxdoc'...............'....''''................''''''''''''''',,,,,,,,,,,;;;;;;;;;;;;;;;;;:::::::::::cccccc
                                                                               .. ..'cdddddxxddolc::;:;;::clooooc,,;,,,;:;cdxxddxxxxdxkOOkkOOOOOOOO00OOOOOkkxdoooodxOkl:;:cdO0kc;;,....',,';c:;'..',,',;cclloooddddxddddl,...'...........'.'''.'.''..........'.''''''''''''''',,,,,,,,,,,,,,;;;;;;;;;;;;;;;:::::::::::::cccccc
                                                                            .  . ...,oddxxxxxxxddooooolcclloooddxdlcccclodkkxxxdxkkOO0OOkkOOkkkkOOOOOOOOOkkkxdddooxkxocodoOO000x:;;;,,,;,,,cllc:,'''';;,;:clooddxxxxxxxdo:''...............''''''..'........''''''''''''''''',,,,,,,,,,,,,;;;;;;;;;;;;;;;:::::::::::::::cccccc
                                                                               ....':odxxxxkkkkkxxxxxdolloddxddddddxxxxxdxxxxxxxkkkOOkkkkkkkkkkkkOOOOOOOkkkxxxdddddxxxkkxxxkxkOOxoc::;;;;coddollccccc:cccclloddxxkkkxxxddc'''............'.'''''...''.....'''''''''''''''''',,,,,,,,,,,,,;;;;;;;;;;;;;;::::::::::::::::ccccccc
.                                                          .....               ....'cddxxkkkOOOkkkkxxddooddddddddddddddddxdxxkkkOOOkkkkkkkkkkkkkkkOOOOkkkkxxxxxxxxxxxxxkkxkkkkkkkkkxdxodxddddddddddodddddddddxkkkkkkkkxxdo,''.............''.''''.'.'''''''''''''''''''''''',,,,,,,,,,,;;;;;;;;;;;;;;::::::::::::::::::ccccccc
                                                                              ....',odxxxkkOOOOOkkkkxxxddddddddddddddxxkkkOOOOOOOOOOkOOOkkkkkkkkkkOOOkkkkkxxxxxxxkkkxxxxkkkkxxxxxxxxdddddddddddxxddxxxxxkkkkkkOOOOOOkkxxxd;'''................''''''.''''''''''''''''''',,',,,,,,,,,,,,;;;;;;;;;;;;;::::::::::ccccc:::cccccccc
..  ...                                                                     .....'':odxxxkkOOOOOOOOkkkkkkkkkkkkkkkOO00000000OO0OOOOOOOOkkkkxxkkkkkOOkkkkkkxxxxxxkkkkkkkkkkkOkkkkxxxxdddddoodddddddxxxxxkkkOOOOOOOOOOkkkxxd:'''...........'''..'''''''''''''''''''''''',',,,,,,,,,,,,;;;;;;;;;;;;;;:::::::::::ccccccccccccccccc
.........                                                                  . ...'',lodxxxkkOOOOOOOOOOOOOOOOOO00000KKKK000000K0000OOOOOkkkxxxxkkkkOOOOkkkkxxxxxxxkkkkkkkkkkkOOOOOOOOkkkxxxxxxxxxxxxxxkkkkkOOOOO0OOOOOOkkxxdc''''...........''.''',,,'''''''''''''''''',,,,,,,,,,,,,,;;;;;;;;;;;;::::::::::::::ccccccccccccccccc
                                                                           ......';oodxxxkkOOOOOOO0000000000000KKKKKKKKKKKKK00000OOOkkkkkxxxxxkkOOOOOOOkkkxxxxxxxkkkkOOOOOOOOOOOOOOOO0OOOOOkkkOOOOOOOOOOOOOOO0OOOOOOOkxxdol,'''...........'''''',,;,,,,,,,''''''''',,,,,,,,,,,,,;;;;;;;;;;;;;;:::::::::::::ccccccccccccccccccc
..                                                                   .     ......'coodxxxkkkOOOOOO00000000000KKKKKKKKKKKKKK000OOOOOOkkxxxxxxkkOOOOOOOOOOkkkxddddxkkkkOOOOOOOOOO000000O000000000000000000000000OO0OOOOkkxdol;;,''''........'''',,,,;,,,,,'',,''',,,,,,,,,,,,,,,;;;;;;;;;;;;;;:::::::::::::ccccccccccccccccccccc
............................................                          .   .......'cloddxxkkOOOOOO000000000000KKKKKKKKKKK00000OOOOOOkxxxxxxxxkOOOO0OOOOOOOOkkxdddxxkkkkOOOOOO0000000000000000000000000000000000000OOOOkkxdol:,'',''''''''''''',,,,,;;;;;,;;,',,,,,,,,,,,,,,,,,,;;;;;;;;;;;;:::::::::::c:ccccccccccccccccccccccc
.................................................................................'cooddxxkkkOOO0O0000000000000000K00K000000000000OOkxxxxxxkOOO00K0K00000OOOkkxdddxxkkkOOOOOOO0000000000000000000000000000000000000OOOkkxdooc,'';,'''''''''',,,,,,,;;;::::,',;;,,,,,,,,,,,,,,;;;;;;;;;;;::::::::::::ccccccccccccccccccccccccccc
.................................................................................,loodxxxkkkOOO00000000000000000000K000000000O00OOOkdxxxxkkOOKKKKKKKKK00000OOkxxxxxxxkOOOOOO000000000000000000000000KK0K0000000000OOOkkxdddc;',c:,''',''''',,,,,;;;::;;,;;;:;,,,,,,,,,,,,,,;;;;;;;;;;:::::::::::cccccccccccccccccccccccccccccc
.................................................................................:ooddxxxkkOOOOOOOO0000000000000000000000000000000OkxxkxkkkO0KKKKKKKKKK0000O00OkkxxddxkOOOOO00000000000000000KKKKK0KKK00000000OOOOOOOkkxxddl:,;:c;''',,'''''',,,,,;;;;;;;;,,,,,,,,,,,,,,,,;;;;;;;;;;:::::::::::ccccccccccccccccccccccccccccccc
................................................................................':odddxxxxkOOOOOOOOO000000000000000000000000000000OkxxkkkkkOO000000OOOOOOOOOOOOOOkxxxxkkOOOOO00000000000000000KKK0000000000000OO0OOOOkkxxxdo:;;;c,''',,'''''''',,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;::::::::::ccccccccccccccccccccccccccccccccc
................................................................................,cddddxxxxkOOOOOO0OO00000000000000000O0000000KK00OkxxxkOkxxxkOOOOOkkkkkkkkkkxxxkkOOkxxxkOOOOOO000000000000000000000000000000000O0OOOOkkkxxxo:;;;:,'',,,,',',','',,,,,,;;;;,,,,,,,,,,,,,,;;;;;;;;;;;:::::::::cccccccccccccccccccccccccccccccccc
..........................................................................'..''',cddddxxxxkkOOOOOOOO00000000000000000000000000000kkxkkkkkxdddxxxxxxxxddddddddoodxxkkkkxxkkOOO000O00000000000000000K00000000000000OOOOkkkxxxd:;;;;,',;;,,,,,,,,,,;:,,,,;:;;;;,,;,,,,,,,,,;;;;;;;;;::::::::::ccccccccccccccccclllcllllllcccccccc
.........................................................................'.''''',:oddddxxkkkkOOOOOOO00000000000000000000K0000000kkxxxxxddoollllloooolllllllllcclloddxxkxxkOOOOOO00000000000000000000K00000000000OOOOOkkkkxxdc;;,,,,,;;,,,,,;;;;;;,,,,,;::;:;;;;;;,,;,;,;;;;;;;;;;;:::::::::::ccccccccccccllllllllllllllccccccc
..........................................................................'..',',:oddddxxkkkkOOOOOOOO000000000000000000000K0K00Oxddddolc:;''',;:ccc:::::::::,'',;:cloodxxxkkOOOOO0000000000000000000KK00000000O0OOOOOkkkkxxdl:;;,,,,,,,,,,,;::::c;,,,,;:;;;;;,;,;;;;;;;;;;;;;;;;:::::::::ccccclcccccccccclllllllllllllllcccccc
.............................................................................,,',:lddddxxkkkOOOkkOOOOOO0000000000000000000KKK00Odolcc:,'........,;;;,,,,;,'.......,;:cloddxkkOOOO000000000000000000000000O000OOOOOOOOkkkxxddlc::;,,;;,,;;;;;;;c:;;;,,,;:;;;,,;;;;;;;;;;;;;;;;;:::::::cccccllolcccccccccclllllllllolllllllccccc
............................................................................''.',;lododdxkkkkkOkkkkkOOO0000000000000000000KK0000xlc:;,'....',,;,,;;,,,,,''........',;:cllodxkkOOOOO0000000000000000000000O0OOOOkOOOOkkkkxxdol:::;,,,;,,;,,;,;::;:;,,,;:;;;;,;;;;;;;;;;;;;;;;::::::::cccclloolcccccccccllllllloooddoooolllllllc
..............................................................................''',coooodxxkkkkOkxOkkOOOO000000000000000000KK000Okdc::;;;::cllodddoc::;;;;;,,,,'''',,;:::coddxkkOOOOO00000000000000000000000OOOOOOOOOkkxkxxdoc::;;;;;,,,,,,;;::;;;,,,;;;;;;;;;;,;;;;;;;;;;;;:::::::cccllllolccccccccllllllloooddxkKXKkdoollllll
.............................................................................'...':looooddxkkOkkkkOOOOOO000000000000000K0KK000OOOxdoc:::cllodxkOOOxdodddxdolc:;,,,;;;::codxxkkkkOOOOOO000000000000000000000OOOOOOOOOkkkkxxdoc:::;:::;;;;,,;;;;;:;,;;;;;,,,,;,,,;;;;;;;;;;;;;;;;:::::ccccccccccccccllllllooddxk0XWMMMMNOdoollll
.............................................................................'...';cooooddxxkOkkOOOOO0OO00000000000O00000000000OOOkxxdxddddddxkOOOOkkOO0kkkxdollllloodddxxkkkkkOOO0O0000000000000000000O00OOOOOOOOkkkkkkxxdl:::c;;::,,,;;;;:;;;;:;;;;;;,,,;,,,;;;;;;;;;;;;;;;;::::::ccccccccccccllllllooddxkKNMMMMMMMMMKdoolll
.............................................................................:::'''cloooodxkkkkOOOOOOO0000000000O0000000000000OOOOOkkxdocclllloddkkxdxkkxddolllclloddkkkkkkkkkOOOO000000000000000000000OOOOOOOOOOOkkkxxxkxoc:::c:;:,,;;::;::;;,;cc::cc;;,;;;,,;;;;;;;;;;;;;;:::::::cclccccccclllllllooodxk0NMMMMMMMMMMMM0dooll
..........................................................'.................'loc:,,;lllolldxxkOOOOOOOOOOOO000000OO0000000O0000OOOkkdolc;;;:c:coodxkxooxxddolc:;::;::coxkkOOOOOOOOOO00000000000000000OO0OOOOOOOOOkkkkkxxxxxo::;:c:::,,,;;;,:;;,,;:lccl:;;;::;;;;;;;;;;;;;::::::::ccllccccccccllllllooddxk0NMMMMMMMMMMMMMMWkdool
..........'.................................................................'ooo:,';clooolooxkkOOOOOOOOOOO0000000000000OkO00OOOkkol;;,',,;:::loodxddooxkkxdllc:;;;;;:coddxkkOOOOOOOO000000000000000OOO000OOOOOOkkkkkkxxdddl::::ccc:,,,,,,,,,,,;;:cccc;;::c;;;;;;;;;;;;;:::::::cclolccccccc