$$$$$$$$$$$$$$$$%$$$$$$$$$$$%$$$$$$$$$$$$$$$$%%%%%$$$$$$$$$$$$$$$$%$$$$$$$$$$$%$$$$
%$$$$$$$$$$$$$$%DSCCC=+XCO%$%%%$%$$$$$$$$$%%%%%%%%%$$$$$$$$$$$$$$%DSCCC=+XCO%$%%%$%
%%%$$$$$$$$%$D=--~-:::::;:-4%%%%%$$$$$$%%%%%%%%%%%%%%$$$$$$$$%$D=--~-:::::;:-4%%%%%
%%%%$$%$%%%S1-;::::::::;;:::ID%%%%%%%%$$%%%%%%%%%%%%%%$$%$%%%S1-;::::::::;;:::ID%%%
%%%%$$%%%%X~1-::::::::-;-;-::-D%%%%%%%$%%%%%%%%%%%%%%%$$%%%%X~1-::::::::-;-;-::-D%%
%%%%%%%%%XI+1;III=II--I:~-;:::~%%$$$$$$$$$$%%%%%%%%%%%%%%%%XI+1;III=II--I:~-;:::~%%
%%$$$%$$O-1=+-CCCX1+1~~:;-:;:::4%$$$$$$$$$$$$%%%%%%%$$$%$$O-1=+-CCCX1+1~~:;-:;:::4%
%%$$%%%%C;~1~X4CSC===~-;;;;;;;;X%$$$$$$$$$$$$%%%%%%%$$%%%%C;~1~X4CSC===~-;;;;;;;;X%
%$$$$$%41-~-+8X44CXXX=~;;;;-;;-+%$$$$$$$$$$$$%%%%%%$$$$$%41-~-+8X44CXXX=~;;;;-;;-+%
%%%$%DO4=~I=CCXX+CXOC+~~-;--;;-14$$$$$$$$$$$$%%%%%%%%$%DO4=~I=CCXX+CXOC+~~-;--;;-14
%$$$$%$8--8%84C1ICDC-:=X+--~~;:+S%$$$$$$$$$$$%%%%%%$$$$%$8--8%84C1ICDC-:=X+--~~;:+S
$$$$$$$%~1%DDSCCD%%O+IC+---II;:X%%$$$$$$$$$$$%%%%%$$$$$$$%~1%DDSCCD%%O+IC+---II;:X%
$$$$$$$$IIDDD%%%DDDS+~OD84=1+-+C%$$$$$$$$$$$$%%%%$$$$$$$$$IIDDD%%%DDDS+~OD84=1+-+C%
$$$$$$$$DS888DDSC4OC1--44=~I+++S8$$$$$$$$$%%%%%%%$$$$$$$$$DS888DDSC4OC1--44=~I+++S8
$$$$$$$$$$DS88O4SOS=I-;-+I~IXO%$D%$$$$$$%%%%%%%%%%$$$$$$$$$$DS88O4SOS=I-;-+I~IXO%$D
$$$$$$$$$%8SO8S48ICCX~~--~~1+=XS%%$$%$$$%%%%%%%%%%$$$$$$$$$%8SO8S48ICCX~~--~~1+=XS%
$$$$$$$$OD4I4O84ODX4S=;;~~I~;:::~8$%%%%%%%%%%%%%%%$$$$$$$$OD4I4O84ODX4S=;;~~I~;:::~
%$%$$$$DC;:;+SS%8D8CCSCI~I1;;+4;:=$%%$$%%%%%%%%%%%%$%$$$$DC;:;+SS%8D8CCSCI~I1;;+4;:
%%%$%%%C;;~-=DCODOO84CSC~~~-::4X1111~ID$%%%%%%%%%%%%%$%%%C;;~-=DCODOO84CSC~~~-::4X1
%%%%$%+~1--:-X%CC%8O844OX=;::IDX+1II~~ID$%%%%%%%%%%%%%$%+~1--:-X%CC%8O844OX=;::IDX+
%%%$SI-++XXI+1S%4S%ODDODSC=::8OI~~--;~IS$%%%%%%%%%%%%$SI-++XXI+1S%4S%ODDODSC=::8OI~
%%%X-11=+1-~+~+%%D%%DDOOD4SC=DS~---I+=+=C8%%%%%%%%%%%X-11=+1-~+~+%%D%%DDOOD4SC=DS~-
OSX1~~+=1+;X%OD8D%%D%D8888C84SX-~~-;~=CS8O88D%%%%DOSX1~~+=1+;X%OD8D%%D%D8888C84SX-~
4XI--1XI~~;48X888DDDDDDDO8SCSCI:::::ISDC1~1XX%%OCS4XI--1XI~~;48X888DDDDDDDO8SCSCI::
I--;;-----+ODC%DD8D%%DDDD8DCS41:;::;=X-:+OD4+84CS=I--;;-----+ODC%DD8D%%DDDD8DCS41:;
~~;~~;;;-I44DS8%DDDD%%%%%88OOO4~:;;:::;XDODC1S4X1-~~;~~;;;-I44DS8%DDDD%%%%%88OOO4~:
~C+~=-~IICD8SO4%DDDD8D%OS8O8SCSO=;:;;-S8X8S++O4+;-~C+~=-~IICD8SO4%DDDD8D%OS8O8SCSO=
-+1;:-I~I-14D%D4DDDDDOSOO88O8O8O84~::=%48C=XOO4-~I-+1;:-I~I-14D%D4DDDDDOSOO88O8O8O8
1I-~;IS==1=OD8D%O%8S444OD88888OC+CD-:~84CC4O8SOS4X1I-~;IS==1=OD8D%O%8S444OD88888OC+
44X+;C%OODODDDD%D8S=SDDDD8%8SX=S%84~:;-X88888OSO8844X+;C%OODODDDD%D8S=SDDDD8%8SX=S%