;,''..'''''''',;
;,''.'''.''..''''..',:
;'.'''''''''''''''..'..,
,''''''''''''''''''''''.',,
;'.''''''''''''''''''''''',';
:,.''''''''''''''''''''.';cc::::
;'.'''''''''''''''''',''''.''.';
;'.'''''''.''''''''',''''..''.';:
,'..''''''''',:::::;;,''''.'''.,c
.'''.'''''''',;;;;;;;,'..........;:
'....''.........................',:
;'..........''.''''''''..''.''''';::
;,,'''''''''''''''''''.''..''...:ool
;,'.''''''''''''''''''''''..',cxkkx
clc;'.'''''''....''''''''''..':loxkkkkol
lxkkxc'.''''..',,;;::::::ccc:;,;ldxkkkkkxocl
;cxkkkkxo;''..',;;:cllllooodxxxdl:cdxkkkkkkxxdloo
,';okkkkkkxddoc:::clodddxxkkkkOOkoclcoxkkkkkkxkkkdc:c
::;;;oxkkkkkkxxkkkxocoxOOkxxkkkkOOkoldoclxxxkkkkxkkkkxl;;:cl
,;;;;;;cxxxxkkkkkxxkkkxooddxkOOOOOOkdodddlcokkkkkxxxkkkkkxdc;;;;;:ccl
;::;;:;:oxkkkkkkkkkxkkkxdxxddoddddddddkxdlccdkkkkkxxxkkkkkkkdc;;::;;:;,;
,,,,;;::;;;:;;lxkkkkkkkkkkxxkkdlldxkkxxxxkkOkxlc:;:dkkkkkxdkkkkkxxkko:;:loc::;',;:
,,,:,,,,:c:;;::;;;oxkkkkkkkkxxddxkxc;:cloodddxdol:;;;;:dkkkkkxxkkkkkxxdl:;;:lxdc::;,,,''';
,,,,,,,:,,,,,,,;:::;;::;::cloxkkxxxkkkkxxkxl:;;;;;::::;;;;:;;,:xkkxxxxxxddolc::::::::ollc::,,,,,,,'':
,'''',,,,,,,,,,,,,,,,,;:;;:::cc:cc::clodxkkkkkkkkl;;;::::;;;;;;::;;,ckxocc::cc::;;;::::::::l:ol:c;,,,,,,;cc: ;l,
,''''',,,''''''''',,;;;,;;,,;;;;:cc::cc::::;;:cloodkkkkd:;;;;;;;;;::::::;;lxl:;::::lc::::::::::::::ll:c:,,,, ,:dxl okd .
,:;'',,,,,,,;:;;:;,;,,::codoodoc;;::;;::clc:::::::::::;:cloxxl:::::::::::::::;;oo:;:::::::::::::::::::::::::::;,,;, ;oxd, kkd ;d: .
;cl:,,,,,,,;;;;;;:clooxkkkkkOOOkl;ccc:;;::::::::::::::;::;:cdo:;;;;;;;;;;;;;;,;c:;::::::::::::::::::::::::::::;,,,,, :dkdc xOkx ldc dl:
::;::;,::;;:;:;:;:coxkkkOOkkOOkxkOxc;:c::;;::::;;;::::::;::::;cccc:;,;;;;;;;;;;',,,;::::::::::::::::::::::::::::;:::::;:loddloxxdxxxxdxdd
dxdodkxdxxddxxdxkxxkkdddx|7kkkkdoddoldOOo;;:::looodoooooooooooooooooooddoooooooooooooooodddddddxxxxxxxxxkkkkkkkkOOkkkkkOOOkkkkkkkOOOOOOOOOOOOkkkxdxkxxxxxxxxxxxxxxx\
OOxxOOkkOkxkkkkkkkkOOOOxd|4dxxxdooollokkd:;:::oO0OkkkOxcoO0000000000000000000000000000OkOOOOOOOkkkkkkkkkkkkxxddddddxdllooooollclodxxkkkkOkxkkxxxdccoooooooooooooooo/
::ccc::ccccccccccold\\kxxkkxolodddxxo:;::;;ccc::::c;,::::::::::olox:::::::::::::col::ccccc::::;;:::::::;;;;;;,;c:;,,;;:.. .oxkkkkkOOOkO0000Ol;
'',,,,,,,,,,,,,,,,:cokkxdxkxdoxxdoddl::c;;:::::::;;;,';::::;;::;co;;;;;;;;;;;;c;cl:;::::::;;:::;;:::;;;::;::;:c:,,:ldxxxkkkOO0OkkO000OOOOOOkc,;
''',,,,,,,,,,,,,:;;:ll:cool::ccccc:::::;:::::;::::;,,,;;;,,;,;l;;;;;;;;;;;;;;::l;,;:::::;;;:::::;;;;;;;;::;::;,;:cccccccldxxxdxkOkkkOOkxoc:,:
''''',,,,,,,,,,,,,,',;::::::;,,;::::;;;::::::::;;;;;,:::''',;;;;;;;;;;;;;;;l;::,;::::::;;::::::;;;;;::::;:c: ::c:;,,',,;:odlldxxxxdolc:,,
'',,;;;;,,,,;;:: c;,;::::;;;;::clc:::;;:::::;::;,,;;;;;;;;;;;;;;;c:;;.;::::::;;::::::::::::::::: cc::;,,,,;clccllcc:::;,;
c;;;;::::::::cc::::;;;;;;::;coo;;;;;;;;;;;;;;;;;::;:,,::::;;;;::::::;::::::::;: llc::;,,,;;;;;,,,;
:;;;;:::::::;::;:::;;;;;;;;,co;;;;;;;;;;;;;;;;;;;;;;,,;;;;;;;;;::::::::::::::;: llc::;;;;:cl
;;;;;::::::::::::::;;;;;;;,,,:o;;;;;;;;;;;;;;;;;;;;;',;;;;::;;;::;:::::::::::;:
c;;;;::::::;::::::;;;::::;,::;;;;;;;;;;;;;;;;;;;;:;;.;;:::::;,;:::c::::::::::;:
:;,;;::::::::::::;;;::::;,',;;;;;;;;;;;;;;;;;;;;::::.,:::::::;;;;cooc::::::::;
c::;;;;:;:::::::;;;;;::::;,;;;;;;;;;;;;;;;;;;;;;;;;::.;;;:::::;::;codoc;::::;;;
::c:;;;;;;;::;;;;;;::::;,:;::;;;;;;;;;;;;;;;;;;;;;;;:.:;:;::::;::::;:cc;;;;;;;;
c:: ::cll:::;;;;;;;;::;;;;;;;,:;;;;;;;;;;;;;;;;;;;;:;;;;;;,,;::;;;;;::::;::;;:::::::
c:c:;;:cl ;;cllc:::::::;::::;;;;;;,:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,;;;;;;;:::::::;:::cc:::
:c:::;:::ccccc c;:cc:::::;::;;;::;;;;;;,;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;;;::;:c:::;;::;:odo::
cc:cc::::cc:;,;: :;;::;:::::;::;;;::;;::;;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,;:::::;:::::;:c:::cddc:
: ldoc::::;;;;,,,;: l:;;;::::::::;;;;:::;;:::;;,;:::::::::::::::::::::::::::::::,;;:::::;::::;::;;:cll:::
rlcc:::::;,,,,,,; c;;;:::ccc:::::;:;::;;;;:;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;l;;,,;:::::;:::::;;;;:cc::::
llc:;;,,,,,,,,;:;;;;;:ccc:::;;::::;::;;;:;;,,;;;;;,::::::::::::::::::::::::::,;,,;:::::;::;::::;;:cc:::o
llc;;,,,,,:::;::::::;;:;;:::;;;::;;;;;;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;:;;;;::::::::;;::cc:l
olc:;;:c:;;;;;;;::;:;::::c:::;;;;;;,,;;;;;;;;;;;;,,;;;;;;;;;;;;;;;,;;;;;;,,;;;,;;::::::::;;;::cccd
c:::;;;:;;::;;::::;col::;;;;;;,,;;;;;;;;;;;;;;;,,;;;;;;,,,,,,;;;;;;;,,;;;;;;;::::;::::::;:::o
ollc:;;::::;::::::;:odoolc:;;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,;;:;;:;:::;;:::;;::;;:lk
lc:::;:c:::;;;:oxxdl:;;,,;;;;;;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,;::;;;;;::;;:::;;;::::l
ol::::;;;;:ccc:;;;'.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,,;;;;;;;:::;;::;;:c::l
l:;;;;;::;;;;;;,.;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,,;;;;;;;;::;;;:;;ccco
:,,;;;;;;;;;,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,,;;;;;;;::;;;;,;ld
'..',,;;;;;;,.;;;;;;;;;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,,;;;;;;;;:;;;;cd
:codlc;;cdc.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,:ccc:;;;;;;;;;;
0KK00kdkK0l,:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,:clooc;;;::::;
xkKXKXKKKK00Odc:,::::;:::;;;;;;;;;;;;;;;;;;;::::::::::::::,clol
d0K00K0KX0xkKXXKOx:':::::::::::::::::::::::::::::::::,cclodxkk0d:
lxxkOOOKXKxlkKXKKKdcdkdocccc::::::::::::::,ccccllooddxkOO0OO000OOx
lox0K0xdddoloxxO00xdkkkOOOkkxxxxddddxxxxxxkkOOO000000000OOO000Okxd
xkOOOkdoodxxxkOOOkdxOkxxO0OOOOOOOOOOOOOOOOOOO0OOOOOOOOO0000OOkOxoxk
XXXK0xdk00KK0OkkkdxOOkkkO0OO000000OOOOOOkkkOOkkkkOOO000000000nobane