;;:::::::;;::cccc:::ccccccclllooooooooodddddddddddddollllool;;clllooooooolllcccc:;:cclxxooddooollcc:;;:;,,;:ccllooooodo:;,,;;,,,,,;;,,,''''','.............',,,,,'',,',,'......''............................................................'''''''',,;;;;;;;;;;;;;;;:::;::::::::::::::;;;;;;;;;;;;;;;;;;;;
:::::::ccccccccccccccccccclllloooooddddddddddooooccc:::::cllccclllolllllc:::;;::cccloooooodoodollc:;:::;;:clooooolc:cl:;,,,,,,;;;;;,,,,,,,,,,''.........'..',,,,,,,,,,,''...'''''''''''''''''''''...........................................''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
:::::::ccc:::ccccccccccllllloooooddddddooolc:ccc:;;::cc:::cccclllllcc:::;;;:::cclloooooodooooolc:::::cccllooooll:'',;,,,,,;,,,;;;;;;,,;;;,,,,''............''',,,,,,,,'.....'''...........'''''''',,''''''..........'''...................''''''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;:;;;;;;::::::::;;;;;;;;;;;;
:::::ccc:cccccc::cclllllllooooooodooooollc:;:ccc:;,,;:cccc::cllcccc:;;;;;;:cccllooolooddddoolccc::cllllc::;;,,,,''.''''''',,,;;;;;;;;::;;;;,,,''...........',,,,,,,,''.............................'''''''''''''''''''''''''''''''''''''''''''''''''''',,,,,,,,;;;;;;;;;;;;;;;;;::::::::::::::::::::;;;;;;;;
::cccccccccccccccllllllllooddollooolllc:ccc:cc:;;;;;;::::::cllc;:c:;;;;;;:cloollooddoooooolcccllloooc:,'''....''''.',',,',,,,;;;;;;;;::::;;,,,'''''.......',,,,,,,;;,,'....................................'''',,,,,,;,,,,,,,,,,''''''''''''''''''''',,'',,,,,,,,,,,,,;;;;;;;;;;:::::::::::::;;;;;;;;;;;;;;;
:::::::cccc:cclddolllooooooooolllcc::::ccc:cc:::clc:;;:;;;:c::;:::;;:c::cccodlcloodddooollllloodoc:;,,,,,''.''',,,,,,'''',,;;;;;;;;;;;::;;,,,,'''''.....'',,,,,,,;,,,,......................................'''''''',,,;;;;,,;;;;,,,,,''''''''''''''',,,,,,,,'',,,,,,,,,,,;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;;
;::::::::cccoddxxollooooooolllc::::::cccccccc:;:::;:;;;,;;;;::::c::cc:::::coolooooodddddooddol::::;,,;;,,,'',,;:;,'',,''',;;;;;;;;;;;;;;;,,,,,,''''....''''',,,,,'...''.....................................''','''''',,,;;;;;;;;;;;;;;,,,,,''''''''''',,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;::::ccccoddolllllloollllcc:::::ccccclllccccc::;;,,;;;;,,;:::ccccclccllloooooooodddddddol:;'..',,'',;;,,,,,'',''.'',,,,,,,,,,;;;;;;;;;;;;;,,,'''''''''',,''.'.....'''''....................................'''''''''',,;;;;;;;;;;;;;;;;;;,,,,,'',,''',,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
:::::cccccloolllloooollcccccccccllllllllllllllcc:;;;;;;;;;;:cllccllloolloooloolllllolllcc:;.......'''',;,',;,,,,;;;,',,,,,,,,,;;,,;;;;;;;;;;;,,''''',''''''''.......',,,,,'''.....................................''''''',,,,;;;;;;;;;;;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
:ccccclllllollollloolllccclloooooooooooooooolllc:::c:::cccclodolloooooolllcc::;;;;;;;;,,;,.........'''',,,,,,;;:c;;,'',;;,,'',;;;;;;;;;;;;;;;,,,,,,'''''''...........',;'...'','...................................'',,,,,,,,,;;;;;;;;;;;;;;;;;;;;,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;
lllllllllllloooooolllooolloooooooooooooloolllllloooollooooooodoooolllllc:;,,,,,,,,,,,;;;;;'............',,;;;:::::;,'',,;,,'',,,;;;,;;;;;;;;:;;;;,,,,,,,,''..........''''''...',''...................................',,,'',,,,,;;;;;;;;;;;;;;;;;;;;,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;;;;;
llllllllllloolooollccclc;,,,,,,;;::;;,,,','',,,;:clllooooooollcc::;;;,,''...',,,,,,,,,,,;:;,............'';;;::clc:;'.',,,,'',,;;;;;;;;;;;:::;;;;;;;;;,,,;,'''''.''.......''.....'''...................................'''''''''',,;;;;;;;;;;;;;;;;;;;;,,;;;,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;;;;;;
llllllllllcc;;,;,',,,,,,'.....................'''',,;;;;;;;,,,'''...........',,'',,,''',,'''................',;;;;;;,.',;;,''',;;;::;;;;;;;;;;;,,,,,,''''''''''''''''....................................................',,,,;,,,,,,,;;;;;;;;;;;;;;;;;;;;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::;;;
lcclc:c:;,'...',,,,,,'.....','..............'''.............................'''',,;;;,,,,'..''..............',,,,,,,,',,,''''',,,,,'',,;;;;,,''''..''''.............''''.................................................'','',,;;;,,',,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;::::::::::::::::
c:;,'',,,,,,'''''''..'....',''''.......'''''''...............................'',,;;;;;;;;,'..'.......,'......''''''',,'''.''',,,,'.'',,;;;::ccccccloooolllcc:;,''....'''.................................................'',,,'',,,,,,,''',,,;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;::::;;;;;;;:::::::;;::::::
:,..........''.............'',,,,,,,''''''''.................................';:::ccc:::;,,'........';,,'.......'..',,'.''''',,;::clllllloooooooooooooooooodddooollcccc::;,'.....................'''''''...............'''',,,,''',,,;;,,'''',,;;;;;;;;;;;;;;;;::::;;;:;;;;;;;;;:::;;;;:;;;;;;;;:::::;;;;:::
;'.....'.................''',''''''',,''..''.............................'',;:clllllc::;'.''......''''.''.''.......''''',;::cccllooooooooollllllcllllooooooooooddddddxxxxxdolc::;,,,,,,,,,,,,''....'''',,,,''''''''''',,;;;,,''''''',,;;;,,,,,,,;;;;;;;;;;;;;;;:::::::::;;;;;;;;;:;;;;;::;;;;;;;;;::::;;;;;;
'''',,,''.......'''...',,'',,'''''''''''''''''''...'''''''..'''''''''''','.';clllcc::;;,..................,;;;;,,,,',:cccllllllcllllllooolllooooolloollllcclllodxxkOkdlccccccccccc::;;;;;:;;;;;;;,,'''..',,;;;;;,,,;;;::::;,'''''''''',,;;;;;;;;;;;;;;:::;;;;;;::::::;;:;;;;::;;;:;;;::::::;;;;;;;;:::::::;;
.',''........','..'';::,',,,,,''''''''''''''',,'''''',,,,,,,,,,,,,,,,,,;;;;;cllcc:;;;;''...................,;;;;:;;:cccclllccccccccllcclolllllllllllollllc:;;;:coooolc,.....',,',;;;;;;,,,,,,,;;::c:;;,,,'',,;;;;;;;;;::;,'''''''''''',,,;;;;;;;;;;;;;;:::::;;;;;:::;;;:::;;;;;;;;:::::::;;::;;;;;;;;;;:::::
......'''...',,'',;;;:;'''',,,'''''''',,,'',,,,,,,,,,;;;,,,,,,,,,;;;::ccloollcccc:;:c;''''...................'',:::::cccccccccccc:clc:cclccc::clllccclllc:,''....................','',;;;,'',;:::clc:::;;,,,''',;;;;;;;,,''',,,,''''''',,,;;;;;;;;;;;;;;::::::::;;::;;;;::;;;;;;;;;::::;;;;;:::;;;;;;;;;;:::
............'',,,;;;;,,'...'''''''''',,;;,;;;;;;;;;;;;;;;;;;::ccccclcccccllcclcccccc::;,''.'''...........''...,:;'.,:clllllcccccc:cc:;:cccc:;cclllcccccc:,'..... ...........''',;;,'''''',;::;::;;,,,,,''',;:::;;;,,,,,,,,''''''',,,;,,;;;;;;;;;;;::::::::::;;;;;;;;;;;;;;;;;;;;;::;::::;;;;;;;;;;;;:
..........'''',,,;:;,,''''''',;;;,,,,,;;;;;;;;;;;;;;:::::ccccccccccccccccc:cclcc:::ccc::;'.''''''...'...''..';c:,..,cllllllccllccccc::ccclc::cclooc::;;::,'.''.... ................',,,,'''.''',,,,;;,,,,,,,''',;;;;;;;;;;,,,,,,'''''''',,,,,,,,;;;;;;;;;;;;;;:::::;;;;;;;;;;;:;;;;;::;:::::;;;;;;;;;::::
'..'.''''',',;:;;:;,''',,,,''',,;;;::::;;;;;;;:::::ccccccccccccccllcccllcc:cc:;;;,',;;'''...''''''.....''''';cc:,..;ccllllcllllcclllccllloccllloc:;;;;;;;,,''..''...........''''''...'''';,,,'....'',,,;;;;;;;,,'..,,;;,,,;;;;;,,;;;,,,,''',,,,,',,,,,,,,,,,,,,,;;;::::::;;;;;;;;:::::::;;;;::::;;;;;;;;;;;;
''''',,,,,',:c;,,,,''',,,;;;;,,,,,;;;;;,;:::::ccccccllcccccllllllc:;;;:::::;,,''''.,,'.....';:,'''.....'''',:c::,..cllccclcllllllollllooooccoooc::::;;::;,,,,,'..''''''.',,,;;;:;,',,,;;:;;:;,'.'''',,;;;;;::,,,'..';;;;;,,,;::;;;;;;;;;,,,,,,,,,,,,;;;,,;,,,,;;,,,;;::::::;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;
'',,,,,,;:cc::;,,'.',,;;;;;;;::;;;;;,,,;:;;::cccccccccccccccc:::,'.''',,,,,''''...',,....',;::;,''..''..'.';::;;,..:clc::::coooololloooooolllolcccc::::::;,,;;,'...''''',::::ccc:;;::::cl:;:::;,,,,,,,,;,,;::,,,,..';;;::;;,,;;;;;;;;::;::;;;,,,,;;;::;;;;;;;;;;;;,,;;:;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,,,,;:cl:;,,,'''',;;;;;:;;;;;;;:::;:::::::ccccccccccc:;;,,,''',,,;;;;,,,''''''',,;;;;;;;,,;;,,'''.''..'',,,;::,..;ccccc:;coooooolooodddooloolclllc::;;;::;;::,,,'....,;cccllolcc:ccclll::c::c;;::;,;:;,;;;,;::;..'::;::;,,,;;::;;;;;;::;;,,;;;;;;;;;;;;;;;;;;::;;,,,;;;::;;,;;;;;;;;;;;;;;::;;;:;;;;;;;;;;
,,,,;,,;;,'',,,;;;:::::::cc:::;;;::::::ccc:cccccc::::::;;,,,;;,;;;;;;;;,,'',;;;:;;,;ccc:;;,,,,,'''''''''',;;,;cll..,:cccll::loooooloddddddooooccllllcccc:cc:;cc;,;;,'',;:clllooooololloolccc::c:;::;;:c:;;;;;:::,..;::;;:;,;;::::;;;;;,,,,;;;;::;;;;;;;;;;;;;;;;;::;;;,,,;;;;;;;;;;;;;::;;;:::::;;;;;;;;;;;;
;;;,;;;;,';::;;:;:cc:;;;;::::::cc:::::::::::::;;;::::;,,,,,,,,,,;;;,,,;,,,;::ccc;,;:;::;,;,,,,,,,,,,,,,;;;::,,:lo,.':ccclll:clllloodxdxxxdddoolllllllccclclllc:,;;;,,,;;clllloooollllooolllolllc::;;:cl:;::;::;,..,:;,,;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;::::::::::;;;;;;;;;;;
,,;::;,,;;:;;::::;::::::cc::::::;;;;;::;;;;;,,,;;:::;,,',,,,,;;,,,,,,;;;;;::::::;;::::;;;,,,,;;:;;,;:::;,;cc;',:c'.':::lllll:;:clddxkkkkkxxxdddocclolooolllooollllc;;:cllolodxddooooooooooodddololcclooc:::::,,'.'::;',;,,,;;:::;;;;;:::;;;;;;;;::;;;;;;,;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;
,;:::;;;:::::::::::ccc:cc:;;::::::::c::;,,,,',;;:::;,,,,,',,,,,;;;,,,,;;;;;;;:;;;;;;;;,,,,,,;::;;,;::;;;;:cc:,';:,',:ccloool;...,oxk0KOkOOOkxdddooodxdddoodddxxddollloodooddxkkxxxdddolodddddkxdooooooolcccc:;;'.;c:,',;;,,;::;;;;,;;::;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;
::;;;;::ccclccccccc:::::::::cc:;;;::;;,,,''',;:::;;;:::;,''.....''''.'''',,,;:::;,,,,''''',;:;;;;;:;,;;::clc:;,,;,,;cccoddl:. ..cx0XKK0000OkkkxdxxxkkxxxdxxkkkkxdllllooddxkOOOOkkxxddddxkxdx00kxdodoollllcc;;;',cc;,,;;,,,;;;;;;;,;;;,,,;,;;;;;;;;;;;;;:::;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;
:::::ccccc::cccc::;;,,;;;::c:;''.''''''',;;:cc::::;;;,;::::;;;;,,''''',,;;'';;,,,'''''',,;:::;,;;;;;;:ccllclccc:;,,:cllooolc;....;d0XKK00OOOOOOkkkkkkkxkxkkkkkkkkxddodddxkkO000OOOOOOOOOO00OKKXKOxol;;:cool:;;;;ll;',::,,,;,,;;;,,,;:;,',,,;;;;;;;::;;;:::;;;;,,,,,,,,;;;;::;;;;;;;;;;;;;;;;;,,,,,,,;;;;;;;:
::::::::;;;::;;;;,,,,,,;:::;,'..',;;::::cc:cccclllc:;'',,,,::;,,'.',;,;:c,','...,''''',;;;:cc:;:;;;:cclllcccclll:;:cllooddolc;;:::d0KK00OOOOOOOkkkkkkkxkkkkxxkkxxxxxkkkkkOOO000OOOO00000KKKKKKKK0o;,...,lool:;;;::,,:c;,,,,;;;,,,,;::;''',,,;;;;;;;;;;;;;;;;;;,;;,,,,,,,,;;::;;;;;,;;;;;;;,,,,,,,,,,;;;;;;;;
::c::::::;;,,,,,,,,,,,,;;,'..'',;;;::::ccc::cccccccc;,;;;;,;,.,;,..,,',;,.''...'''''',;;;:ccc::;::cllllllccllooolccccloddxkxdlldllk00K0OOOOOOkkkkkkkkkkkkkkxkkxxxxxkkkOOOOOOOOOOOOOO00000000KKKKx;'...':llll::;,,,;;::;,',,,;;;;;::::;;;;;;;;;;;;;;;;;;;;:;;;,,;;,,,,,,,,;;;:::;;;,;;,,,,,,,,,,,,,,,,,,,,,;;
;;;::clc:;;;;,,,'',,,,;:;'.',,;;,,;::::clcc:::::;,'''';;;;,'..','.....,'......'...'',:::cclc:;;:cllloolllcloddddollccoxkkOOOOkO0OkOKK0OOOOOOOkkkkkxkkkkxxkkkkkkxxxxkkkkOOOOOOOOOOOOOO000000KKKK0o;;:cclloddoc::;,,;:cc:;,,,,,;:c::::;;;;::;;;;;;;,,;;;;;;;;;,,,,,,,,,,,,,,;;;::::;;,,,,,,,,,,,,;;;,;;,,,,,,;
;::ccc:;;,,,,,'..,;:;;,'..';:::::cc::cc:::;,''....',......';:,;;.................'',:::clcc:;;:clllloollllodxxxxdolccokOOOOO00KXKK0KK0OOOOOOOOkkxxxxxxxxxxxxxxxxxxxkkkkkOOOOOOkkOOO00000KK0KKKKKkoldxkkxkOkdc:::;;;:cc::;;,,,;:::::;:::::::;;,,,,,,;;,,;;;;,,;;,,,,,,,,,,,;;;;::::;,,;,,,,,,,,,;;;,;;,,,,,,,
ccc:;,,,,''''''',;;,''.',:cccccc::::;,,'..........,;..........'..............'''''',;::ccc:;;:ccllllooooloxxxkkxxoooodkOOOO00KKK0OkxxkOO00000OOOkxxxxxxxxxxxxxxxxxxxkkkkkkOkkkOOOOO0000KKKKKKKXXN0OKKKKKKKOdlc::cc::c:::::;,,,,;:::;;;;;;;;::::;;,;;;;;::;;;,,,;;,,,,,,,,,;;;;:::;;,,;,,;,,,,,,,;;;;;,,,,,,,
::;;,,,,,'',;;::;'...',,;::cccloc:;,'.......''.','..........................';;,'',;:::cc:::::cccclllooodxkkOO0OkxkkkkO0000KKKXXKkdddxO0K000OOOOOkkkxxxxxxxxxxxdddxxxkkkkkkkkkOOOO000KKKKKK0KKKKXXKXKKKKKK0xlc:cllc::::::::;,,;;;::;,,,;;;;;:::;:::;;;;;;;;;,,,;;,,,,,,,,,,;;;;;:;;;,,,,,,,,,,,,;;;;;;;;;;;,
,,;;,,',,,;;;,'......',;;:cc:;;,'..........'..':c;...................'''.....,:;;:c:cccc:;:::::cccllloddkOOKXXXNXKKXXK0KXXKXXXNNNX0OO0KXXKK0000OOOOOkkxxkkkkkkkkxxxkkxkkkkkkOkOOO0000KKKKKKKK0000KXXXXKKKK0koccloollcc::::::;,;;;;:;,,;;;;;::;;;;::;;:::;;;,,,;;;,,,,,,,,,,,;;;;;;;;,,,,,,,'',,,;;;::;;;;;,,
,,'',,,,;;;'.....''',::c::;,'.............',....'.............'''.'',,,,''''...';:ccccc::::c:::ccccloddkOKXWWWMMWWWNNXXXNNNNNNNNXXKKKXXXXXKKKK00000000000KK0000OO0OOOO00000000000KKKKKKKXXXXK00XNNXXXXXXKK0Oxoooodooolc::::::;;;;;:;,,;;:;;;;,,;;::;;;;::;,',,;,,,,;;,,,,,,,;;;;;;;,,,,,''''',,,;;;;;::;;;,,
'''''''''.....','''',;,,''...............'','......................,;;,'''''''',;::::ccc:ccc:ccccccoodk0XNWMMMMMMMWWWWWWNNNNNNNNXXXKKXXKKKKXXKKKKKXXXXXXXXKKKKK000000000KKXXXXXXXXXXXXXNNNNXKKKXNNNNXXXXXXKK0kkkkxddolcc::::::;;;;:;;;;;;;;;;;;:;;;;:::;;'.'',,,,,,;;,,,,,,,;,,;;,,,,,'''''',,;;;;;;;;;;;;,,
''''.....,,'',;,,;;;,'',,,,,'..........''''''...'''..............'...'..',,,,'',;::::::::cc:cccccllodk0NWMMMMMMMMMMMMMMMMWWWWNNXXXXXXXXKKKKK000000KKKKKKKXXXXXXXXXXKKKXXXXNNNNNNNNNXXXXXXXNNNXXXNNNNNNNXXXXXXXKXK0kxxdlcc::;:::;;;:::;;;;;;;;;;;;;;;,,,,'.',,,,,,,,,,,,,,,,,,,,,,,'''''''',,,,;;;;:;;;;;;;;,
'''',,,,,'.';::;,',,,,,,,''...........''......',''.''............'''''''','..',;;:::::c::::cccclloodkKNNWWWWMMMMMMMMMMMMMMWWWNNNNNXXXK00KKXKKKKKKK00KKKKKK000KKXXXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNWWWWWNNNNNNNNWWWWNXKOxolc::::::;;;:::::::;;;;;,,;;;,,,,''',,;,'',',,,,,,,,,,,,,,,,''''',,,,,;;;;;::;;;;;;;,,
'''',,,,,';:::;,,,'..''..............'''''''',;,'''''....',''..''','''''''''''',;::::cccc::clllloodkKXXXNNNNWWMMMMMMMMMMWWWWWNNNXXXXXXXKKKKK0000KK000KKKKKKKKKKKKKKKKKXKKKKKXKKXXXXXXXXXXXNNNNNNWWWWWWWWWWWWWMMMMMMWXOxolc::::::::::cc:;,,',,;,,,''''''',;;;,..'''',,,,,,,,,,;,,,,,,,,,,,,,;;;;;;;;;;;;;;,,,
',,,;,,,;:::;;,,,'.'''''.......''''',,,''''',,,,',''''.......''''.'',,,,,;;,,,.,;;::::cccc:clllodxOKXKKXXXXNNWWMMMMWWMMWNWWWNXNNNNNXXXXXKXXXKKKKKKK000000000000KKKKKKKKKKKKKKKKKKXXXXXXXNNNNNNNWWWWWWMMMWMMMMMMMMMMMWXOdolc::::::::;::;,,,'',,''....',;;;;;'..'''''.'',,,,,,,;,,,,,,,,,,;,,;;;;;;;;;;;;;,,,,
;;,,;,;;;,;,,,,,;,,,,,''''''''.'''''''''''',,'',,'''''',,'..''..'',,'',,,,;;;,',;:::;:ccccccllodk0KKKK0KKXXXNNWNNNNNNNWNNWWWWWNNXXXNNXXXXKKKKKKKKKKKK000000000KKKKKKKKKKKXXXXXXXXXNNXXXXNNNNNNWWWWWWMMMMMMMMMMMWWWWWWNKkdlccc:;::::;;:;,,,'......';;;;;,,'...'''....'',,,,,,,,,,,,,,,,,;;;;;;;;,,;;;;;;,,'''
;,,;;;;;,,;;,,,'''.''............'''''..'',,,'''..'''''''''''''''';;,.',,,;;;,;:::cccc::clcclodxOKKKK000KKXXXXXXKKKKKXXXXNNNNNNXXXXXXXXXXXKKXXXXXXKKKKKKKKKKKKKKKKKKKXXXXXXXXXXNNNNNNNNNNNWWWWWWWWWMMMMMMMMMMMWXOKWNNXX0xdocc::::::;;:;'.......',;:;,'.....','...'',,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;,,,,'''
;;;;,,'',,,'','.''','''.........'''''''',,,''','.'''''''''',,''''..'...,,;;;;;:ccccclc:;clccloxkOKK0000000KK000K00OOO0000KKKKXXXXKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXNNNNNNNWWWWWWWWWWWWWWWMMMMMMMMWMMMWWWWOcxNNXKXKOdolcc:::::;;;;,',;,''';::;,'...',,,''',,,;;,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;,,,'''''
;;,'''',,,'',''''',,'.......'',,,,'''',,'.''''''''''''..',,,,,,,,''',,,,;;,,;;:lllcccc::ccccldxO0000000OOOOOkkkkkxxkkkOOOO00000KKKK0KK0000KKKKKKKKXXXXXXKKXXKKKKKKKXXXXXXNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNN0xOXKKKKXKOdollcc::::;;;;;;;;;;;;,,''''',,,,',,;;,,,,'',,,,,,,,,,,;;,,,,,;;;;;;;;;;,,,,''''''
,'''''''''''.''''''......'',,,,,',,''''..''''''''''''''',,,,;;,,,',;,,',,,,,,;colllccc:cccccodkO0000OOOkxxdddooddoodddddddxkkkkOOOOOOOkkkkOOO000OO0000K0KKK0KKKKKKKKKKXXXXXNNNNNNNNNNNNNNWWWWNWWWWWWWNNNNNNNNXXXKXK0KKKKX0kdlllc:::c:;::;;;;;:;,'...',,,;,,,,;;,'''','',,,,,,,,,,;;,,,,;;;;;;;;;;,,,,'''''''
.''''''......''.''''''''',,,''''''''''''''''''''''',,'',,,,,,,,,,,;;,,'.';;;;:lollllcccccllldxkO000OOkkdolcc:,'''''',,,;::cllloodddddxxxdddxxkkkkkOOOO0OO00000000KKKKKKKKKKKKKXXXXXXXXXXXXXXNXNNNNXXXXXXXKXKKXXKKK000KKKKKOdollc:::::;::;;;;;;,'..'',,;;;,,,,;;,'',,'',,,,,,,,,,,;;;;;;;;;;;;;;,,,,,,'''''''
.'.............'''','''''.''''''''',,,,,,'',,,''',,,'''',,;;;,,,,,,,''''';::::llccllccc::codxkOOOOOkxxdlc:;. .............',;;,,;;:::::cccccclooooddxxkkkkkOOOOOOkkOOOOOOOOOOOOO000000000000K000KK00000000000OO00OO00KKKKKOxollccc::::cc::;,''''''',;;;;,,,,,,,,,,''',,,,,,,,,,;;;;;;;;;;;;;;;,,,,,,,,,,,,,,
............''',,,,''''....''''''''',,,,,,,,,,,''''''',,,;;;;:;;;;;,,,;;,,::::cccc:cc::::loxkOOOkxxxooc:;;'...,;;;,......'...'',,,,;,,,,,,,,,,;,;;::cccclllloodddddooooddooddooooddddddddddxxxddoddoddddooolooddook00KKKKK0kdollc::cc::c:;,,,,,,,,,;;;;;,,,;;,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;,,,,,,,,,,,,,,,,
.'........','''',,''.....''''','',,''','',,'''''..'',,,;;;;;:::::;,,,,,,,;:;;:ccc:;::;:clodkOOOkxdolc:,'','...',,,,''..'.......'''.'',,,''''''',;:::cllllc:;;;ccc:::cclloooddddddooooloolooooooollllloolllc:;,';coxk00KKKKKOxoocc::::::::;'',;,;;;;;;;;;,,;;,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;,,,,,,,,,,,,,,,,,
'.....'''''....''''...'''''''''',;,,,,''',,,'''..........'',;;,,;;;,',,,,;;;;:cclc:::::cldkOOOOkxddlc;;,,,,'',;;'.....,;;,'.....''..'',,'',,''';:;:clcccccclllodolcclllllloooddddodddddddddddddollloooooool:;...coxkO0KKKKK0xdlc:::c::::c:;,,;;;;,;;;;;;;,;;;;;,,,,,,,,,,,,,,,;;;,,,;;;;;,,,,,,,,,,,,,,,,,,,
......'',,,,'..''..''''''',,,,,,,,,,'.'''''................'',;;::;,,;::::;,;;::col:::ccoxOOOOOkxdolc:::;,;;,,:ll:,...':cc:...';,,........',;,..,;cccc::cc::;:llloollodolllooodolllooollcllllccc:;:ccccllc:;,..,codxO000KKK0kdl:;;:cc::cc;;;::;;,,;;;;;;;;;;;;;;,;;;;;;;,,,;;;;;;;,,,;,,,,,,,,,,,,'',,,'',,,
.....'''',,,,,'''......',,,,,,,,,,,,'',,,,,,'',,,,,,,,''''',,;;;,'',,;;;;''''.,;:clllccodkOOkkkkxdolc:::::;;;''co;.... .cdc. .:ll; .'.....''..;;;;;;;;::c:'.',cool:clollloocllllcccccll:::cc::;;:::::c::::'..;ccodkOO000K0kdl:::ccc:cc:;;,;;,,,,;;;;;;,,;;;;,,;;;;;;;;,,;;;;;;;;,,;;;;,,,,,,,,,,,,,,''''',
.',,,,,,,,',,''.......''',,'''',',,'';::;;;,,;;,;:;;,;;;;;;;:::;;,;;;;;;;;;;'..,;;:cooldxkOOkkkxxdolllcll::c;'.cl'..... ,o: .lo' .:c:;;;;,...''..'''',;,. .';;;,'',,;;::::c::::::,,:lll;..'looc,colclc'..',;;codxkO0000Odlcccccccc:;;,',,,,,,;;;;;;,,;;;;;,,,;;;,,,;;;;;;;;;;;;;;;;;,,;,,,,,,,,,,,,,'''
',,,,,'''''............'''.'',,,,,'';c:;;,,,,,,;;;;;;;;;;:;;;::;::ccc::::::;'..,;;;;clodkkkkkxxxddolooooc::c;,;:,.,,'...... .,' .colll;. .::;:::::,. .::::::c;....;c::ccl;..lxl' ;dd:..odcll. ....'';cldxO0000Oxo::::::::;,''',;,,,,;;;;,,,,,;;;,,,,,,,;,,,,,,;;;;;;;;;;;;;;;;;;;;;;,,,,,,,,,,
''..................''''''',,,','',;;;,,''',,,;::;,,;;;:::;;;,,;:ccllcclc::::,''...';clodkkxxxxdoolloool::cc:;,..',;;,'.. .. 'odo;. .cllloo:. .;lllll:. .ldddd;. .l:. ;d; :d::l..''..'',::ldkO0000Okdlc::cc:;,,'',,,,',,,;,,,''',,,,,,,,,,,;,,,,,,,;;;;;;:;;;;;;;;;;;;;;;;,,,,,,,,
................''',,,''''''''''',,'....',''',;;;,,;:::c:;;:;,',;;,;;;:ccc::::;'.....,;:codxxxdoolloooolcloc::''''',;;,... ,c, 'codo:. .codl'. ,oxd; .' .c;.....;;,'',;;cokOOOOO00Oxolccc:;,'',,,,''',,,,;,,',,,,,,,,'',,,,,'',''',,;;;;;;;;;;;;;;;;;;;,,,;;;;;;;
. .........',,',,,,,'....'''''',''..''..'''',,,,,',;;;::;;::;;;;;,,,;;;;;:ccc:;,,.........,clooollclodolddolc::;;,',;;:'...... .. ... .::,. .c:. .,c,. .........'::;,;;:codkOOOOO00Okdol:;,,'''''..'',,;;,,'.',,,,,,,,'''',,,'''''',,,,,,,,,,,;;,,,,,,,,,,,,,,,,,,
.........',,,',,;;,,'''..'''''......'','.',,,'',,,,,,;:;;:::;;,,,'';;;,;;;;;;,,,,,..........',,,,,;clloddocclccc;,,',;:;. .... ......... .... ... . .... .....',,,'',;clc::cclldkkOOO0000kdo:;;'''.....',,,,,,,'''',,,,,,,''''',,,''''',,,,,,,,,,,,,,,,,,''''''''''''''
........',,..'',;,..............'''''''',:::,,,,,,,,;,',,;:::;;,',;;;:;,,,,,;::;::;,'''..'........',;:okxdloocllccc:c:;;,. .............. . ........ ............ ...... ...',,;:,';::cdoollllldxkkOOOO0Oxoc:,.....'',,,,,,,,''',,,,,,,''''',',,,,''''',,,,,,,,,,,,,,,,,'''''''''''''''
...'..'.'''.............'....'',,'..'',,,,,''',,,'.''',,,,;;;;;,,;:;,''''',;,;;::;;;,,,'..... ....,;::lxkxxxo::olcooc:;;'. ............................................ . .... ...',;;;:c;,:lcldxxkxdoodxkkOOOOxo:;;'.....'.',,,,,,,''.',,,,,'..''',,,,,,''''',,,,,,,;;,,,,,'',,'''''''''',,,,,
...''''''.................''............'',,,'',,'',,;;::;,''''.',,,'''',,,,,,;;;;;;;,,''..... ....';::lddkOklcolldxdc:;,'.......................................................... ..',;:c::c:,,:oddxkOOOkkxxkkOOkxdl:;'......''',,,,,,,'.'',,,,'...'''',,,,,,,,,,,,,,,,;;;;,,,,,,,,'','''''''',''''
..''''''...'.'....''...................''''''''',,;;;,'',,'''''....'',;;,,'',',,''............. . ....,codk0xlloolxx;':c;'....'..'''''..',''.'''..................''.............. ...',;;;:::lc,;oxxkO00KK0OOOOkkdlc:,.............,,,''.'',,'''...'''',,,,,,,,,,,,,,,,,;;;;,,,,,,,,,''''''',''''''''
.,,,,'.''''''.....'',,,,,,''''''...........',,;;,,,,'''''.'''''......'.'......'''..''''','..... . ......;ldxOOdooddxdclxo:,'.....'''''...,,'......''.....'''.....'','''''''.......... ..',,;clc::cclccokkxk0KXXKK0Okdl:;'.. ........ ..','...'',','..''''',,,,,'',,,,,,,,,,,;;;;;;;;;,,,,,,'''''',,'''''''
.',,,'',,'....'''.''';;;;,'',,,,,,''''..',,,,,,,,,,,,,,,''','''''''''...........'',,,'...''...... ... ..,coxkxdoodxdldxllol:;,.....',,,'',,',,,''''''''',,''''',;,,;:;;,''............;c:;::llcldolcdkkkkOKXXXK0Oo;'.. ........ .',,''''',''...'',,,'''''',,,,,,,,,,,;;;;;;;;;,,,,,,,'','''''''''''''
.',,,,',,,,,;;;;,''''''''.....';;,,,,',,','...',,,;;,;;,,'''',',,,;,,'''.'''''.....''......','.. .. ...,lxxkxddddxdooldxoclc:,'..,,,;;,,,,;;;,,;:,,',,;;;;;,,,;:clol;,'''.........'',:cclccllcododkOkkOKKKK0Od;.. ........ ...',,,''.....''''',,'''',,,,,,,,,,,;;;;;;;;;;;,,,''''''''''''''''''''
,,,,;;;;;;;;:::;;,,'........'',''.',,,,,,,,'',::;,,,,,,,;,,,,,,',;;;,''''',,,''''.........',,,'.. ...,lxkkdodxxdoc:loodllll:';l:,,,,,;;;:::;;:;;;;;;;;;:;;;;;:cc:;,,''''..,;,,,'':coxxdddooxxdk00000KK0Od:.. . ..... .',....'..''''''''',,',,,,,,,,,;;;;;;;;;;;,;,,,,,'''''''''''''''',,,
'''',;;,;;:;;;;,'''........,,....,::;;::::;;;;;,''',',,;,,,,,,',,,'''''.'',,'''''......''''',,'..... .....cxkxxxxddxdooxkkkdlc::xOo;::;;:::::cl:;;:;;;;;;;;;;;;::::;,,,,,''',;ll;,,:lllkkddddddxkOKK0000kl,..... ... .''........''',,,,,,,,,,,,,,;;;;;;;;;;;;;;,,,,,,'''''''''''',,,,,,,,,
,,,,,;;,;;;;,'''.'''.'',,,,,,,;:cc::;;:;;;:::;;,,,,,,,,''',,,,,,,,''''''.....''''......'.......'..... ..... ..:dkOxddddxxxkkxdxdoldO0dc:::cccccldxl::cc::::::::;;dxlc:;,,,;;::lo;cxo::clodxxdodddxO00K0OOkl,. .. .. .... .'.....'...'.'',,,,,,,,,,,,,;;;;;;;;;;;;;;;,,,,,,,'''''''''''''''''''''
:;;;;,',,,,,,'''',;;,,;;;,'',,,;:::;;;::;;;;;,,;;;;;;;;,;;;;;::;;,,,''',''''.'..'............'''..''. ... . .'okOOxddxdoxkxkOkxkkkOkoodolllccdOxl::cccccclcc:;c00o:cc:ccccclkOllooxkxodkxxdodxkkOKK0kdc,.... ... . ........'.......'''''''',,,,,,,,,,,;;;;;;,,;;;;;;;;,,,,,,,''''''''','''.........
;,,,'',;;;;;;;;;;;::;:;,,,,,;,,;;:::cc::;;,',;::;;::::::::::::;;,,,,,,,,,''''''............'....'''.. .. ..;lkOxoooodddxkkkxddxkdloddolldOOxlccclddxxdol::x00xcllclodddkOOkxxxOKK0OkxxdxxO000Oxo:.... .........'''''.........''''',,,,,,,,,,,,;;;;,;;;;;;;;;,,,,,'''''''''''',,''...........
'',,,,,,,,,''',;;,,;:;,...',::c::ccc:;;;,,;;::::::;;;;:;;::;;;;;;;;;,,,,,''........................... ... .':dxdlldooddxxxxoodxxxxolodkkkkxooolloxxdoooodkkOkoloooolldkkkxxxkkkkkkxddxkO0Okoc;'..... ............'..''.'''''''',',,,,,,,,,,,,,,,,,,;,,,;,,,,,,,,,'''''''''...''''...........
...''',,;,,,,,...',;;'.....';;;;,,,,,,;;:ccc:::::;;;:::::;;;;;;;;;;;,',,,,'''''''''..''.................'.... ...;ldddddoooooodddddxxdlodxkxxkkxxxdooddooxxxxxxkkxdddoddxkxodxxxdxxxxxddxkOOkdc;'. ..... .. .. ...........'''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''........................
....''''''',;;,,,,,,,,......',::;,,,,;;;;;;;;,;;;::::;;;;;;;;;;;;;;,'''',,''.........'....................... ....,coddxxxdollccoddooloooodkkkkxkkxddddodxxxddkkxxxxddxxdddodxxxxddddxxkkxdl,............... .............''''''',,,'',,,,,,,,,,,,,;,,,,,,,,,,,,,,,,,,,,,,,''...........................
''....',,'''''',,,,;;;,'..,;;:c:;;,,;;;,,;,,,;;;;;;,,,;;;;;;;;,,,',''''''''''..''............................... ....,:loxxxddooolooolcloooxxxxxdxdddxOOxoxxxxxdxxxxxxxxddxxddddoodxxxxxoc:,.. ... . ...'''....'..,;;;;;;;,,,,,,''',,,,,,,;;,,,,,,,,,,,,,,,,,,,,,,''............................
;,',,'',,,,,,,,',,;:;;;;;;;;,;;;;,.'',,;:::;::;,,,,;;;;;;;;;;;;,,,,,,,''','''...''............................'''. .';:loodddddooollooolllloddddxkOOkddxdooodddxxddddddoooooodxxdolc,.. .....................,;,,,,,,'''''',,,,,;;;;,,;;,,,,,,,,,,,,,,,,,,,,,'.............................
;;;;;,,,,',;:;;;;;:;;;;;;,,,'',;;,',,;;;;;;;;;;;;;;;;;;;;;;,,;;;;;;,,,''''.''''''''''........................'.',. ..;:lllooooddoooooooollodxxkkkkxxdooddooooddddddxxxxdlolc:;'......... ..'....................'..''''''',''',,',,;;;,,,;;,,,,,,,,,,,,,,,',,,,'''''..........................
;,,;;;,,,,::;;;;;;,''',,;,,,,',;;;;;::;;::;;;;;;;;,,,;;;::;,,;;;;,'''',,,'',,''...'''''....... ....... ........... .. ....,;::cccclloooooooooodddddddxxxxxxxxxxxxxxxdddoc;'..... . ................'.......''''...',,,,'''',,,,,,,;;;;,,,,,,,,,,,,,,,,,,,,,,,,'''''''''......................
,,;::;,;;;:;,,;,'.......'''',;,,;:;,,,,;;;;;;::;;;;,,,,;;:;,,,,;;;,,,,,',,,,,''..',,''.......... ..................... .... .....'''',,;;:::::cccccccccclllllllllllllc::,.. .......... .............''''..''''''''',,,'''',,,,,,;;;;,,,,;;,,,,,,,,,,,'''''''',,,''''..................
;;:::;;;;;,'.''........''''..,'';:'....';;;,,;;;;;;;;;;;;;;;,,,',,''''.....'''''',,,'............. .............',,;,'''. ..... ... .. ......',,'''.....'...'..''..''.... .............................'''''''''',,'''''',,,;;;;;:::;;;:;;;;;;,,,,,'''''''...'',,,,,,'''''''''''''''''''
;;;;,',,;,.....',,'''';;''',''',,,'....',,;;;,;;,;;;;;;;:,,,,,,',,''.........'''''................... . .. .....,:,.','..,'.......... .. .... . . . . .............................'..'''.''''''',,,,,;;;;;;::::cccccc:;;,,,,,,,''.......',,'''''',,,,,',,,,,,,,,,'''
,;,,'''','',...',,'.',,....'''',,,,,,,;;;,;;;,,;;;;;;;,,;..,,,,,,'....................................... ... ...','.,;......','......... . . ..... .......................................'''''''''',,,,;;;;;;:::::ccc:;;,'''''''..........'''''''''''''',,,,,,,,,,,,,,,
''''''',;,,;,''''..',,''.'''',,;;;;,;;;;;;;;;,,,,,,,,,,,'..,,,'''''''............'.'''..................... ....... ...',',;;;::c;........'',:;;'...... .................''...............................'''''''',,,''',,,,;;;;;,,;;;,,,''''.....................''''''''',,,,,,,,,,,,,,,,,
'''',,,,,''''''''.',,',,'''.',,;;;;;;,,,,,,;,,,'',,,;;,'''',,,,,,''..........'',;:,...................................... ....',.,lool:'...,.':loddl:;,,'','..'........,;,,,',,,,;,,,,''',',,'. ...........................'''''''',,,,''',,,,,,,,,'''''.............................'''''',,,,'',,,,,,,,,,,
::;,,,,,,',,,,,,,'''''''''''''',,,,,,,,,,,,,,,,,,,,,,'..','''',,,'''........',;:ll;........................................;c:,. .,:c:::;..,';oollc;,''',;:;:c::;,;;;;,,,,,,,,,'''''''.'''''.......................................'''''................................................''',,',,,'',,,,,,,,,
,,,',,'''''''',,''''',,,'''''',''','''',,,'',,',,,'''..',,'''''''''''''..........,;,......'.................................''. ....:;'...,;,';,;;,''.,;:lc,,;:;;,',;,,,''','''.'''''.... ............................................................................................''',,''''''''''''''
,''''''',,,'',,,',,,'''''',,,''''''''''''',,''''''''''..,,''''''.''''''''''...........'''''''...'................ .......... . ....','.......',,,,,'.',;;:,.'''..'''.''...;,','.... .................................................................. ...........................'''''''''''''''''''
,,'',,''''',;;,''',,''''',,,''''''''','''',;'''''.'''''''''''''''''''''''''''''''....'''''''''..''...'.'......... .. ... .. .. ...... .......... ...''...',,....,........ ................................................................................................'''''''''''''''''''
'''''..''','''.','''''''',,'''''''''''''''.'.'''''''''.'''.'','''''''',,'''''....''....''''''''........''..''.... .. .. . .. ..,,'';;'....'.. . .. .....................................................................................'''''''''''''''''
'.'''',,,,,,''''''''''''',,'''''''''''''''.....''''''','.'''''''''''''''''''''....'''..''''''''''..'''.''''''....... ..';:;. .. .....................................................................................''''''''''''''''
'',;;;;;,,''''''','''',''','''''''.''''''..'.....''',''..''''''','''''''''''''.......'''''''''''''''''...''..... .. ... .........................................................................................''''''''''''
',,;;,,,,,,''''''''''''''',,'''''''''',,''.'.....'''''..''''''''''''''''..'''''''''',''...''''''',,'''''......'.. .. . ............................''''.''''..'''.................................................'''''''''
,,;::;;;;;,,,,,,,,'''''''''',''...''''''''',''...'''''''''''''''''''''''''''',,''''','.....'''''',,''''...''''..',,... ...''......................''''''''''.'''''....................................................'''''
,,,,,,,,,,,,,,,,,,,,'''''''',''...''''''''''''''.....'.''...'''''''''''''''''''''''','..''''''''''''...'...''..,,,'''''. ....'''...............'''''',,,,,,,'''''''..'.....................................................''
;;,....''',,'.'',,,,'..''',,''''......''''''''',,''''''''''..'''',,''''.'''''''''''''''.''''..'''','..','..,'..,'''',,,,. ....''''''''''''''''''''',,,,,,'''''',,,''''''.''...................................................
.''..........'',,''''.....',''',''''.......'''''''''',''''''''''',,'''''''''',''''''..''''''...'''''...,''''. .',,,',;,. ... . .','''''''''''''''''''''''''''''''''''''''''.....................................................
...............'.''''....,,,,'',,,,,,,..'''',,''''''''''''''''''''''',''''',,'..''..'''..'''...,,''',.',..''...',','... ... .,,'',,''''''''''''''''''''''''''''''.''''''.....................................................
... ....................'''''..'''''''',,,,,'''',,''',''''''''''''''''''''',,'...''',,...'''''''',,,,,.....'..',,,''... ... ..''''''''''''''''''''''''''''''''..'''.''..........''..........................................
.......................,'............''''''''''''''',,,''''''''''''''''''''''''. ''',,.. .'''..,,,;;,'... ....'.',...... ... .'''.'..'..'''',,''''..'''''''...''.''''''........''''........................................
......................'''..''...............''''''''''''',,,,,',,''''''''''''....''..'......''';,,,,,,'... .'. .....'... . . .. .'.. .....'',,,''''....'''...'''.''''''''........''''''......................................
........................'',''',,,''''''........''''''....''''''''',,'..'',,,,'''............'',,',,',,''.. .'. ..........''. .. .. . .. ... ..'''''..................''.'''''''......''''''......................................
.............................''''.....'..'......'................'''..'',,,,,''. ..........''........''..''. ..''.. ...... ........ . .. ..... ... ..''''''''.................''''''''......''''........................................
.....................................................'',,'..............'''......... .....................','. ..',,. .... . . . ... ... ... . .''''''....................''''''''......''..........................................
.......................... ...........'...................''','................''''. ..'......................... .',,,'. .... . .. .. ... ..'.. . ...''''''.....................''''''''.........'........................................
..................... ..... .................................'.....'...............''.. ...'',,'.. ...........,''....''... .... . .... .. ... ..........'''''''......................''''''''......'''''''.....................................
........................... ....... ....................................... .......'',,,.... ... . .......''.... ..... . ..... ... .... .... ......... .. .......''''..'......................'..''''''''........''.''''...................................
.............................. .. ............................'''''','. ......''.. ...... . .....'''.... .'.. . ............................... ..... ... .... ........ .........''..............................'''''''''.......''''''''''.................................
......................................... ... .................................. ..........','''.. ..'''''..'. .''. ............ ..... ..... ............... ................................................''''''''''.....'''''''....................................
............................................. .. .................. ........';. ...... ....'''... ..'......... .''.. ... ...... ';. ... . ....... . .. ..........'........................................'''''''''.....''..'''....................................