OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO000000000000000000000000000000000K0K00KK0000K0000000000000000000000000000000000000000000OOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO0O0000000000000000000000000000000000KK00K00K00000000000000000000000000000OOOO00000000000O0OOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO0000000000000000000000000000000000K000KK0KKK000000000000000000000000000OOOO0000000000OOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO000000000000000000000000000000000000KKK0000KK0000000000000000000000000OOOOOOO0000000OOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOO0O00000000000000k::ok0000000000000000KK0000000000000000000000000000000000OOOOOO000000OOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO00000000000000dc::;;dOO00000000000000000K0000000000000000000000000000000OOOOOOO000OOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO00000000000xll:c:,;dkkO000000000000000000000K000000000000000000OkkOO00OOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO0O0000000000kooc::;,'cxxkO000000000000000000K000K0000000000000xl:,,,:x0OOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO00000000Odddoc:;,';dxxkO00000000000000000000000000000000kl;';::::;lkOkOOOOOOOOOOOOOOOOOOOOOOOOkk
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO00000kooddol:''.:oxxkO00000000000000000000000000000xc'';:::lclccxxxxkkOOOOOOOOOOOOOOOOkkkkkkk
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO000xdoxkxoc;'..:dxxkO00000000000000000000000000xc..,;::::cllcldxxxxkOOOOOOOOOOkkkkkkkkkkkkk
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOxdodkO0x:,;''cdxkkO00000000000000000000000xc...,,;;ccoxdolldxxxxkkOOOOOOkkkkkkkkkkkkkkkk
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOdolodOK0xc;:',ldxkO000000000000000000000ko;...,,,;cldxddolldxxxxkkOOOOOOkkkkkkkkkkkkkkkk
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOxdccox0Kkc;cc':ldxkO000000000000000000Odo;..';::cldkkkxdocoxxxxxxkOOOOOkkkkkkkkkkkkkkkkk
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOdxclodxKKold:',:loxkOO00000000000000Oxlc'.,,;:clldO0KOdlccoxxxxxxkOOOOOkkkkkkkkkkkkkkkkk
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOodc:oddOKxll:,,:lloxkOO000000000000Ooc;.'::;ccdk00KK0xl:;ldxxxxxkOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOxll:coodkOoc:.,',;,okkO00000KKKK0Oxll,.'clcxxxO00KK0xo:,;dxkkkkkOO00OOOOOOOkkOOOOkkkkkkk
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO00000000oolodkkkkdc......,cxkOO00KKKKKOdl;:,..,dclkkOOO0K0xoc:,oxxxxxxxkkOOkkkkkkkkkkkkkkkkkxxx
OOOOOOOOOOOOOOOOOOOO00OOOOOOOOOOOOOOOOOOOxxOkkxkOxocc...;loxddlccllloddxdl;'....'locdkO000Oxll:,cxxxxxddxkkkkxxxxddddooooooollllc
OOOkkkkkkkkkkkkkkkkkOOOOOOkkkOOOOOOOOOOOodkOOkxkkkxl:.,ccl:c:;,....''..,oxdo:.  .coodxKX0kdol:;cdo::;;;;;;;::;;;;;;;;;;;:::;:::::
kkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxddxxdddcdkxddddddl,,''',,,'......,,'...',:ccc,..:oclkK0xxxoc;:okc:;;::;:::::::::;;:::;;;::::::::
oooooollllllccccc:::::::;;;;:::::;::c::::cooc::;,;;,'..;cllcc;,'..',;,'''',;;;:'.:ckKKOkO0xdoooxOc;;;;;::::::::c:;;:::::::;:::;::
,,;;;;;,;::;;;;;;;;;;;;:::::::::::::c::::;c;;:;,,'...';ldxkOxxl;...;looolc;;',';;,codxxOOxxkOOkdx:;;:::::::::::::::;::;:::;;;;;;;
';:::::;;:::::::::;:::::::::::::::::c:::;'.';c;'...'.,cxO000OOxl,,lxkkkkxdl:;,,':l:,,:oxxxdddxkxo::::::;::::;:;:::c:::;;;;;;;;;;;
,::::::;;::;:::::::::::::::::ccc::::cc::,';coc. ..,,:clccdO0OOkdldkkO0OOkxdc;;;,';oc,.,:;cldxxl::::::::c::::::::::;::;;;;;;;,,,,,
;:::::::::c::::::::cc:::::::::ccc:::cc::;:oxl.  .;looo;..lkOkOkdxkkxOOx:,cllc;:;'.'cc,',;,:ooc::ccc:::::::cccc:::::::::;;;;;,,,,,
;;:::::::c:::::::::::::::::::::::::::c::::lo.  ..'...'...:dxdxkxxxxxOd:..,codllc;...cl:';,';clcccccc::::::::::::::::::;::;;;,,,,,
:::::;;;;c;;;;;;;;;;;;;;;;;;;:::;;;;;ccccc;,... ...,dO...,:oddxxxdxddc'..,',cxxc:....:dl''.;:cc:::::ccc::::::::::::::;;;;:;,;;;;;
:;;;;;;;::;;;;;;;;;;;;;;;;:::::;;;;;;ccccc:;,cl::'........,:llololl:;'...ox'.'ll'....'okc,';::cc:::::::::::::::::::;;::;;,;;;;;;;
;;;;;;;;::;;;;;;;;;;;;;;;;:;;;;;:;:::clcccclldkOlc;......':::cccc::,.....','..,.... ..oxdc:::::cccc:::::::::::::::::::::;;;;:;;;;
;;;;;;;;::;;;;;;;:;;;;::::::::::::::::lccloooxkkoc:;;'..,;;;;::::::;'......;cdo::;,..,lllc:::::cclcccccccccc::::::::::cc:::;;;:;;
;;;;;;,,c;;;:::::;;;;;:::::;:::::;;;::lccloodkkxdlllc;,,,,,,,;;,,;:::'',;:okkdxOOOko;:cloo::::::::lccccccccc:::::::::::::::::;;::
;;;;;;,;:;;;;:::;;;;;;;;:;;;:;;::::::;ccclldxxxdoollc:;'...',,,,',;:c::ldddxxkO0KOOkdodkkxc:;;::c::lc:::::cccc:::::cccccc:::::;;;
;;;;;;;::;;::::::;;;;;;:::;:::;;;;;;;;:cllodkxclllc;:;.....''''''',:llodxxoxkkOKK00kkxxOOko:;;;:::::lc::::cc::::::::ccccccc::::;;
;;;;;;;::;;:;;;;;;;;;;;;:::;:::;;;:;;;:lcoooxk:,:c,''.........'...';:llldddxxk0K00O0OkOOOko:;;;;:::;:ccccccccccccccccc:::::::::::
,,,;;;;c:;;;;:;;;;;;;;;;::::;;::;;;;:;:lcododko..........',,,''.....;::cddxxxxkkO000OOOOkkdc;;;:::::::clccc:ccccccccc::ccc::::;;;
;;;;;,;:::;;;;;;;;;:::;:::::::;;:;;;;::clododoc'........','''''......,,,:cc::;:k00OO0KK0Okxl::::ccccccclllcccc::::::::::cccc::::;
;;:;;;::;;;;;::;;;;;;;;:;;;::;;;;;;:;;:clloodxl,. .......'''.''..........''...o00OOO0Okkkkdl:;;:::ccccc:clcc::::::::::c::::::cc::
ccc:;;c::::::cc::;;;:;;;;;:::::;;;::::::llllokkd. ............''.............'dkOOOOOOOO0Odl:;;;::::::cc:clccccc:cccc::::::;;;;;;
cc::ccc:::cc::;;;:;;;:;;;::::;;:::::::::lllccxOd. ............,.............,okkkkk0OO000kc;;::::::::::::::lc:::::c::::::::::::;;
::::::c::::::::;;;:::::;::::::::::::cccclllcclOd '.............'...........;kkxxk00OOOOOxl;.'::cccccccccccccllcccc::cccc::::::;;;
;;;;;:c::::::::::;;cccc:cccc::cc::c:::::cc::;lOO..   ....'',....'.........;dkOO00OkOOOkkd:'',,:ccccc::ccclcccllcccc::cccc:cc:::::
;;;;;c::;;;;;;;;;;;;;;;;;;;;;;;;;::;;;::cc;;;;oOl ....    ...............ckOK0000kdxxxxolc';cc::ccccccccclllccllc:::::c:::::cc:cc
,,,,,:;,,,,,,,,;;;;;;;;::::::::::::::::::l:::;:xOo...       ......  ...'cOOOOO0Okdooodlodd;;clc;:cccccllllllloollcccccccccccccccc
,,,,;c;,,,,,,;;;;;;;;;;;;::::::::::::::::lc:;;;ok0k.............  ....,l000000Okxllolclodd::clo;,;:;,,':lllllllllolcccc::cclllccc
;;;;:c;;;;,,,;;;:;;;;::::::ccc::::::::::cll:;;;cdkO:..cool::;;,;:odc,;dO0KK000Oxloc::;cdxo::ooo:'..    'clllllllllollcllccccccccc
;;;;::;;;;,,;;;;::;;;:::::::c:::::::cccccclccc::lk0x:cokOkkkkkkkkkkxooOOOO000Od:::;::ccldo::lod;,.  .  .:cclllllcllllccccccccccc:
;;;;c:;;;;;;;;;;;;;;;;;:::::ccc:::::c::::cloollclldOWOOxOOkkkkk0KkkkdcO0OO0Okoc:c::cccdodo::olx:;.  ...,cccccccclllllollllccccccl
;;;;c;;::::;;;::::::::::::ccccc::::::::::ldxxdlclol:kNO:coxkkkNWxxkkxod0kxxxd:lc:llolloooo:clod:,'   .':ccclllllllllloolllcllclll
;;;:c:;;:::::::::::::cccccc:cccccccc::::clxkkxdoood:'OK0dlcOx0O:'codoclxlooollllooooloxoolcllll,:,  ..::cccc::c:::::::clccclccccc
;;:c:;;;:::::cc:::::ccc::::::::ccccccc::coxkkxxddddo,',lxdxxoo,'..,lllxkOkxxxddooddddodddoddxl:'c;  .,;;::::::c::::::::colcllllcc
:::c:;;,;:::::::::::c::::c:cccccccccccc:coxkkOOOkxkxo:;,',,,,'..':oxOkkkkkkkxxddddxxdxxkxdkkkc:,c;  .,;::::::::ccccccccccolllllll
:::c:::;:::::::::::::::::::cccccccccccccccoxxOOOOkkkdolc:'';,,;ldkOkkOkkkOOOkxxdxdxkkOkkkkkko::,l;  .;:::::::ccccccc:ccccclolcccl
;::c::c:::::::::::::::::;;;;;;;;;;::::::;:cokOO00OOOOxdxkc.dkkkxxkOOOOOOO0OOkkkxkkkOOkOkOOkocc:;c'  .;:c::::::::::::::::::cldolll
:;:c:;;;;;;;;;;;;;;;;;;;;;;;;;;;:c:cccc:::cdkOO00KK00OxOkkdxOkxxkkkOk0000OkkkkkkOOO000000Odcll:;:.  .;:cccccccccccccccccccc:ldooo
;;c:;;;;::::;;;;;;;;;;;;;;;:::;;::ccc::cc:cldxkO0KKKK0kkkkxxkkxkOOOxkkOOkkkkOO0KXKK0K0000xocloc;'   ':cccccccclccccccccccccccldoo
;;c:::::::;::;;;;;;;;;;:;;::c:::ccclcc::ccc:cldkOO00000kxkxkxxOkkkkxxdxkkxOO0KXXXKKXK0OOkooodxl:.   ':cccclllllllcccccccccccccldo
::l:::::::;:;;::;;:::::::::::::ccccc::cc:ccccllodxxkO00OkxOOOxO0KOkkkxdxkO000KKKK00KK0Oxddxxxdoc     .,:clllllooollllcccccccccccd
;cc:::::::::::::::::::ccccccccccccccc:cc:cclllooooddxxxkxkOOOOk0000OOkkkO00000000OOOOkxdxxkxdddl.    ';:cllllllllccccccccccclllll
;cc::::::cc::::::::::cc::cccc::cccccccccccccllodddddxdoddkOO00O00K0O00dkOOO0OkOOkkxxkxkOOOkxxddl' ..:o::llllllccccccccccccclllllo
:lccc::::ccc:::cc::c:cccccccccccc::ccccccccclcoddddxxxxxxkOOO00O00O00OxO000OOOkkkkkkOOOOOkkkxxdlc;looc;clllccclllclcccccccccllloo
:lcc:ccccccccccc:::cccc:cccllcccccc::ccccc:ccllodddxxxkkxkkO00000000OOO000OOOOOO00000OOkkkkkxdooloooc::cccccccccllllllllloloooool
clc:::::cccc::cc:::ccccccccccc::ccc:cccc:::::cloxxxxkxxkkkkkO00000OOOO000O00000000000OOkOOOkxoldoollcll:cclllcllllllllooooooollol
clcccccccccclllllccccccc::cccccc::c::::::::;:cccoxkOkkxxkkkkkOOOOOkkO0000000000KK000OOkkOOOkdlodxxollllc:clolllllcccccccccccccccl
lccccclccccllllccccccccc::cc:::cc::::::::::::cl::lloooddxkxxxkkkkkkOOO0O000000KKK000OOkOOOOxookOOkxdoolllc:::c:c::cc:cc::cclccccl
lcccccc::cccccc::cccc:::::::::::::::::::::::;:lccccllcclccclllooddxkkOkkO0KKKXKK0OkkkkkOOOkdodO00OOxdolllll::c::cccccccccc:ccccll
lcccccc::::::::ccccc:::c::::::;:::::::::::::::lllccccloc::;;;looooollooodddxkkkkkxxxxkkOkxdooxO000Okdlccllcccccccccccccccclcccccc
l::::::::::::::::::::::::::::::c::::::::::;;;;cc;;;;:lollllc:;:cloodollccccllodxxxddxkxddooodOOO0Okdlc::cc:cccccccccccccccclccccc
c:::::::::::cc:c:::::::;;;;;;;;;;;;;;;;;;;,,;;:lc::::ccllloooc:cldxxxdolccccllodddddxxxdodookOOOOkxdl,;:cccllcclcccccccclcccccccc
c:::::;;;;;,;;;;,;;,,,,,,,,,;;;;;;;;;;;;;;;;;;;lc::::c:looolooolodxxxxxxxdoooodxxxxxkkxdddodOOOOOkxo::ccllcccllclllllllcccccccccc
;;;;;;;,;;;;;;,,,;,,,;;;,,,,;;;;;;;;;;;;;;,,,,;cc::cll:codddooddol:ccllloooooddxlcoddddddd;;xkkkkxoclcccccccclllccccclllcllllclll
;;;,,;;;;;;;;;;;;;;,;;;;,;;;;;;,;;;;;;;;,,,,,,,cc:ccll::odxdddol,..',,;;:cc:::::;:cddddool.',coocccoo:::::cccclccccclllccclllcccl
;;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,,,:cccccc::lddddo,,,,;:;;;,'''',,,,;:ldddooo'.''';;:clooc::::cccclllcclccccccccclccc
;;::;;;;,;;,,,;;;;;::;;;;;;::;;::::;;;,;;;;,,,,,':lccl:;lddddl';:::;;;;::;;;;;;:::odddoo:.''';:clodddocccccccccccccc:::cccclccccc
;::;;;;;,;;,,,,;;;;;;;;;;;:::::c::;;,;,;;;;,,;;'.:;;::,,coodoc,:;;;::;::::::;::::coddool.,,'',cldoxdodcclllccccccccccc:::clclcccc
;;;;;;:;;;;;,;;,,;;;;;;;;:::c::::::;;;;;;;;,,;;,'.','..':llooc;::;:::cc::::::::::ldddoo:,;;,,,cldodoldcclcllllccccccclccccclllccc
;::;::::;;,;;;;;;;;;;;:;;;:::::;;;;;;;;;;;;;;;;;::',,;;',:cllc:,ccccccccc:::::::codoool;c:;,,',lxdxoco:llcclllccccccccccccccccccc
:::;;;,,;;;;;:;;;;;;;;;:::;;:::::;;;;;;:;;;;;;;::lc:::;'';cccc;;ccccccccc:::::c:cloolll;cc:,;,.,lldo,'cccccllllccccccccccccccllcl
:;::::;;;;;;;;;;;;;;;;;;;:::::;;:;;:;;;:::;;;;;;;ll::;;;::clol,::::::c:::cccccc:clolllc:llc::;,',;::;lllolllllllllllccclllllllllc
;;;;:;;;::;;::::::::::::::::::::::::;::;::;:;;;;;clc::;:cclool;:::c:clcccccccc;:ccllllcclllccc::,',:cldoollllllllllllllllllllclcl
,;;;::;;:::::::;:::::::::::::::::::::::;:::::;;;;:l:::cllodddo::cccc::clllccc;,;:cccllclllllllc:ccccclodolllloollolllllllllclllcc
;;;:::::::::::::;;;:::::::cc::::::::::::::::::;;;:lc::ooddxddd::::::::clcllll:;;:::cloclllllllllooooooldolllllloolllllllllcccclll
;;:::c:::c:::::::;;;:cc:::::::::::::ccc:::::::;;;;lclododxxd:'::::::::::cclll::::cclolcoolollooooolllllodolllccllolllolllollloooo
;:::cc:::::::::::::::::::::::::::::::c:::;;:;;;;;;loodddxdxdl:::::::::::::clc::cccoooclooooooooloooolloodxoolooooooodooooolllllll
;::::::::::::::::::::::ccccc:::::::c::::;;;;;;;;cloolllodddo:ccccccccc::::::lclllodxoloooooooooooooooooooddddooooooooooolllllcccc
;;;;:::::::::;;;;;;;;::cccccc:::::::::::;;;;;,,,cllllodoodd:clllllcc:ccccc,';loddxxxooooooooollllll::ccc:cxdollllllllclllllllllll
;;;;::::::::;;;;::;;;;;::c::::ccc::;:::::;;;;'..:lllodcldo::lllllllccccccccclooxxxkxo:cclcclcllllllcccccccodoollllllllllllllccccc
;;::::::::;;;;;;:;;;;;;;;::::::;;;::::::cc:::;':c:cod:,lo:.clcllc::;;;;;;;;codxkkkkkdcccclllllllllolcllccccddolccccccllllllllcccc
;:::::;;:::;;;;;:::;;;;;:::;;;;::cccccccclllc:,;::oo;..''';:::;;c:::;;;;,,:oxxxxxkkkxccccclllcllllollcclccllddlcccccccllcllcccccc
;::::;;;;:;;;:;::::::;:::cccllclollcccc::;;;;;,.',,....;:::::::;:cc::;;;,,coxoloddxxxlclc:cllllllolllccllcllodolccccclllcllcccccc