Code:
RWWygWm#HHqWxVW@gW##WgNmF"]"W"--g"_==A==_$_=*-*^T_?{*|*{m$&*&_mm&&*G&&*****4*&*1$=e"="_=$$W----"C&T"TjWXWXW@GMNX#WQ@mWE@am
tWeW#A+QWD=$HDV#@RQ@WEpm&@XE@S!)7""-@4=-~7==_(6=@J"#^>`'>"*`f"G$VgW#I=/b/3 i-")*)%C>:C<~>-"/-#!EU="@%sI(!XOQ@"WpT@+@W%W#m#
$@Zs4s#yGFW##V+A#j@WqXWR*|fPC\</9mS)"?]>-&__~f==` ` , i_ `;)*_` ,(!:>-:_i\=-d)_+"(ZJ"rEb*I($-1g""=%"WJ4W$@@UHSQ#@##
XxM-%u#B5mm@@WbP+j+MbWWE@W"B"~=P7i:)="'"J_|.__j_a@pg]Vjgp>ih_i_ _Ag__@wWgj+gi';i`%~`V"+"v[-=%-r(_(@"EJ$9Om&WQV==B$@TjWyTHb
m*@gM#Ei$*IDp#WAF@gA[H@(*+-C-"%=-N9s"z"6j#qQW##qq##Q#AQ###RHHRmg$pm##qQp#$M###jm *^c'j:=="$]4i"N*"Y=--sm=VT#W"D@>aV"K&|WmB
m/T@MXA*@W">@>x@gXmH$$E9<"VD`*$v$!;!-V*qW##W##W########R######H#WA##M####Q#WMMMQp%/(%_sB"(xa@j*J_@j=L!_|P<A*Amp$$#j@Gy#W@I
JkM&@TA*wLAm-WyT$gW@bjWDe_--`jJv/ ^"gp#######R##################W#######H######HW##r`/ Wj@@@xgXyN9@m@_Spap4j@XWaEgmq@E@vNx
A"WXW@=)SeiIvDjW@sM4"KNgL_7@S-_j;(_q#W#####W#########H########################O#####m_`*RV$gH##AQg#H#p##WNqTWGQq#qAApNgHQ@
W=WNVF=aA@aFWsNcf5XWp@#e@je$4"+($xq###########q##############################W#QM#mQ#WQ_|M#A@WQM@@#BWWqAH###Q#D#q##MWH#N##
jh+#jA@6@Cg$@F=W=Vx=Vk*=*-y""s.mq######W##H######################################Wy####A@QQ@#H#@jRpHVw##HMWWHMR###WW###WWq
MMF*V7!XxXg$SD@4(Va&p@$s""-&-`##########W##Q#######################H#############BMQANW#A@GR@@mmMdQHQA#@HqR###RM##A##QW###
QEA@"OLs"5F@|-+W"=4W@P_ujJ*"_##########HqH#HW###############################W#B##HMH@%$H#@QM&g8WMQQDEHHW######H#N#####q###
gGG|j"GW)@>G&<j_#W"HvQ%c?a=<M#############WOmM#E##W####################H#####Wp####KmmNNpQGByQA##QQW@gJMWQH#M##WHW#H#####H
PT"QXG@+"<V"W~o*_G@V#jy[!=qg#############@Ep@#@#N#########H##########Q########A#M#FVVNM#QxV2gWMNmRXAEHWB#H#WBH#####WH#W###
@_+JW=]x}SP"(EWX-"vLbWL?y_####################AX#Q#####W###########HW###H###NQ@@ZNm}W#####@wZ@$WN##QM@#M#W#######Q####W#A#
$&V"!k4J$%toJE7"@ATJ$QOE!qW#############B@E#Q#NWd##WH#WWW##H###q###QW###H##H@NQ@$#NH#W######jk#NGNmW#X#NR##HBHA#W##WW#M###
-"'R=!_VP*y=c#p@4Kx9-"T?d###############H#H###MWeWMB@#XWWBH##HqW##W##H##$WNT*_]Hg@#########&@m##gPMG#AHERW#########H##H##Q
jj'f!@vP{_~"F|sEr-sO$mJ*a########Q######HA#q#W#MVO#nWWWWM#dWQQM#%R%MWN*6|eV>_H@###W#########RTMm#X#NTZWMM##HN#W#####WWWM#H
L"wE*5$_e-`["|@)[>sW"Wj2########M########WW##W#WpE#pR#MMvjIm@>+0BMFH@"D#@E$%qM####Q##QWW!###Q&#MWKQ##mq#M#Q#qM#Q##R#QQ####
+-\>`wt|f?@";"@T*Fj$&%@_#######BH#H#H##Q###MQ@W#HHQ#########QpT@W@-mIgM#@#MW##W#####B*`` JW#QH#W#$#mZ#V#W##Q##T####Q###A#M
@"j)-$V;=!<uA@r#Wfx4"@|m#####W#AH#WQ#Q####QEQQq#AW#H#q#WQQ#H####A@QqW##Q#RW####H#E" ` -FW#Wp#Q#kRHRN@pW##W#M###WQMWMRQ#M
@]-Vfi="j-'_r@E5m$"}W$-E#######W#####W###Q#Hq#E###W###Q##Q##M#####QM##H####WHW=>`` ` ` `#W#R#Q##HBVqEHAQ########QHq#qKQ#
j-,*-m)`\~$_ji@9"C*fkO!W##############q##WMN##D###QHWW##W##R#A##W##QWg#HE$V>` ` ``,`XWWHq@#mPWWjV2##WRqW#PMHQ######M
7-"~-_=`b=`~(@$$W"(Fnb*"#########Q######M#vDOX=MFNM$WWHVVBJPWX*FF*"F"'`` `` di'####NVTHqQNmXQAQ##BW#BW##@A####
'<*jS-``%!'_(***i$_Ww^$`#######W#########SMWA$eF=L"`'7'-_- ` ` ``@s WQ#BF`=##AHdWKq###QG###AB#NB#M#
`!``>3S'j<`_-O@i$={p-i"(######WHqW#####RmD"W=aU-~*"`~~`>;*` ``,-"mD ^##GT- V#NQqP$M#MB#K#QA@O##E##Q
^*~~wj^"i*" $=j*aO@@egB*Z#############B#BGHW#=if&!>w`- ` aG#QRP" ` @#N&` @8##@@VH##EqQsXqA####N##
`$j-W; o``i,-j#=C@^&\"-`O#######M#####HVXKm##$u@|>!j`- `; ` fW@@M=JN*`-j V##B` _qHHNmO#M#M@m#gWAQBBK#HW
! -? `<(! *'">G$5_>{)) q########H######IW$VA@MVmCj;~') _ _ ; ` `mpWW|"?:ko"_'` MD# `G%T@9mQ#M#AQ##W#DMHg#W#
`!"*",!```=72J?==y<!'{W H#######W#######Z#W#@M@g$#qp=qj$p@p@J,,,_` ~ ` ``=$pMR@qhL__a4s`-` N#$ MWGN@m@#MMQ@AEq#@#WHQM#
!'b--'$,* [j`$!weX"_e(`a############Q#Mm@@4NqVG@T?Y@#####W###q&e__Fs`` `;=@V@@HR###QMWp__ `*#b @Wq@%WhQ#WgWW@GRGHWK##@Q
-!z+ o`` -"s<--agW"<;gfm#H#######W#W#W]iT@@T@T@*Xjy)"""WWDM#Q##MQKmL` ``4! WMH#W'Df/ ``RT @TWMA@WT#WWR###QWV###MB@
9* $'=:`*``(8-5_"""i$"WXNW###########qN74WOWa#W@Jm"L/WgjjA##HW#MaT4s' ` `-"` "V%'"= ^` ` =Rjy##AH#T@@MNWQQWW@##W##q#@
_wr"`(j8\!w`aOj-VW"J@G"MmH#########W#g69/@bDDTm{$@+xup#A#$'*VXyXWX=V= ` ` ` 7 ` ` `` %Ea##p@VWx#W#HDm#q@#WGX#K#Q
!(~*5`:^`=,_isD6NsBv=v>AU@M#W#AQ###Q#WA$M_W"W@%#N&#WTVaRW` -'-@=V*"` ``` ` ` ~` ` `` ` *Eg#BN@VW@#WW#NGNW&W#WgQQQW
!>_` 7)`-"!`%"N>e7*|;A>e@BNM###QW###WBPWF-EixI@V8#W@yjm*~;" ```ZWFRA` ` ```` ` @HH#BN#NQ$H###@m#Qm%A#RN#K
`**_*_w`-;--P_@*j=-j--)"m$GD]M#######mWO$#MWR>WGN:,m"-i"` ` ````$X@W`` ` ` ` `- Z#WNHm*DaGHAWHGRq##8#p#U#A
``){`~w-``'"s-_ca|(T^|` #WQD0Dm#M####my=/WX7O-*?(J=`!~=`` ` ` _s"|F_` ` ` |#UN@HUqNRM#W#@MH#ImGWmN##
-(;^[<j' "()5rv?W@F_&-`*&VXX$p]KW##H@@Vms"EW*!``!`~' ` ` ` -*-V@_`` ` ` `` qeNH#EW5Ng##RA#HWHND#AQ#qH
%! '|_``T --L--+*aeV$;-``*#N##@w@m#BQW>@GE>+2`),` ```` ``` `y@W*s*" ` ``NA#HAxWQj####BQ###WWmG@###
!`i ` `%<_">I<I=x"sW(j!` j6ZEMqM8$HB#EJW@AA>&$I, ` ~ ` `` *F|WI("" ``` `` ` `ENW&@3M$@R@#B##WmHM@#HW###
' =!"!n~!_i"7->FWl">(-*=` mmEA@@Hp@##ADsM@VgW,",'``` ` *5=g#=$ ` ` - `YNA#9gWgWN##q#B#@WM##EW@#HW
``i,"!:=- i(a_o+jV]X$`,` ~^TGWmQ#WWxqEWX=@WW"=s~ `_ ` ` Gg"@[P$- ``` ``~~`V@@8@@@mXMQ##qd###MM#AyHRW
'`"W`^Y -":=*$-$s("B,"` ` "B#N#MY9"PH#W$=%mV%Lj ` ; ` ```` 2=m_-J@F-` ` ` ``` ````, wa#W#@@#NEW#W#M#Nmm#gG9K#ET
_"i'`ri"~ ~;_j!)l~_"=TP `<`cW$#NBB4#yW#$@3yOV@@3@'`` , ` ,vaWv+"W$}@ ` `___` ,_`*_A#A@#QmZp##Q#WWE#pQ#MMWmH@
!"!=i^Y` -yjD$");-B4?` ` qD###Mp0mR@EH#@@v@eeD=JC`` `` ` _VXH]W@qR#@vo_-__MB$ ` ``~```>``.-GAWVWTW9@@QM#A#E@WRHH#@TWW
*" '"==W`,`ch?$D*Vj4^ji * -AM#####N#W#@MQNX]q@NX4_@~! ! ,'jMEExhW##NMpm;%- ;F `` ` ==-j@##XkN@m##M##HH#DgQqWQNQ#
-`s,="=`~" V_T=;-U-7F=! ``(`)QeH#H#pmW#Ws%WX@W$U!$&-$+"_<`2<FPp#&W@@=H&DI" ` ````- ` !`"7@m#qqHB]###Q#Q#Wq#@#q@BHW#
-"Y`=W===,`!.|_^"]-s7``` ````4WHq@#gHpVxDm=AiH2++"""mFA-````4$O$TN%IX#*%'` `` ` , ,`=([#NKWHpm#H#Q#Mgq#@#M#BWWM#q
`=``oVw,;^`Fe*G`s_'T;" ` `wWW###%#R@MmAEU*$f+"_9jJV@];) `(WW@kW"^`*` -` ` ` ` ` ``^`_mWAM#RM###R@###HqNW#BHqyRW
)`,,``"^`,'`@\j"yW=3"-'`~` - ~Hgpg&WH9QIWg+#WxW|,7__SW`= %``'l` `` ` `` `-` `` ```- W=3VA@VWWy4BDH@WH#g#M&MH#EME#
*'"i`e`==i\=Q>A-%(i-|^` `, ~`-""H@mP&H4qWTM#VZX@_;*JVW-_e%_- i',;`-``` ``` `` ` `` `,`( j`EggWEWQQmB#M@D#BRM##H#EW@#A
=|<`="j<Y^(5_3P v|%**^```` ~` ` )HWTC,"WDkwmMaR@%@]Q|dG_---|,j ,-; , ~` `` `` ` `` ` ~ ``,wWgAB@#MmQQ#W#GGWWgAW#H##@QW
`:>;`"i:"!`/<P?j=<C7=`,,` , `-`,````!` WVA#R@@j<Bjg"W@"l!*J="4"_ _``` ` ` ` ``-!`_`(@$mEUM@nSm#d#Aq#AQq#B##X###
!`-`*' `-Y -;v_Vv$9p*:( , ~ ,`````wWHVDaGVx6DEW@mVQ_`he"I?-=*, ___[/p.wi|jus*s,,` _ -`*`3@VP@gR@mWmHWHHmdW@M@#HWgqH#
! ! `^*! =>jMJ@(--+:& ` , ` ~```- ;` ``DaRSjWXXB#F1VS@F+=7_/as_L_a]xkJW*#w='")*""C`7`` ` * !@@V#N#B@#KAWWHmA@MW##NMqAWEW
! s`"~_' (`<@==O`LJ*="'```` ' `` `` !ZyMm+mWWDI=k@pLc"i("\dp@W$(="<? ` ` ``` ` %`-,- xHWHT@mm#@HAHWH#M##WW#MEHNdQW
j =*"` ='=("4V%>g<sW=C` `` `` `` ` (apmkEm#P@a=bR@)=s<``iJ"$I,^" `__- _j,_ ` ' `` (j-%JNG=@@WTAW###MDQ#MWW#HMMMT@WM
= "%"` ```j4J=*7$-I+%,``` ` `-`` ` - ~TaNggWxaW#kj@yGC"=^*";\/IFaWj>-+mmaBW$&=` ,` (`-r_O##mg$M#M@%GWQNHMHRyW#qHWH####
`-_`"_,`?``!jR=[",*9)-`-`;```~ -``'` ` ```aNWWW#@WW%@7Ky4mV. `:,W"=FA$=W+A7*@@-A$=-*=``` ?o@@@WAmT#HQTyI$##M@QHp#B@NXBR#RB
`_ '"_ ` ` (-Iw=-rJ=">_=('- ` `` ``` ` jKXT##md-WWyTmXK"*`== j(r"s"_>!`)="`^j`;`!") ~``-@7NM9jHWB@ZpWQ##NW@BN#g8GW#p#AW
`-*"!_!"`=(^v=l_"(w;** ^` `~`````^` ` 4WAIjW@s%pVjT@WgD=~'(*=A~(`!``,` `` `` ` ` ``=_Xmm#AH##e@aj##M##HB8WHAm#dBWWW
_- -' '"` *_e="*<`=^`^'` ` ,~ ,` ``XjMj#WMWAXja9V#@s~Y`w `=`*`, ` ` ```` `,3j"HFNSQ##A%M]Hm%#Wq@UMqHHqQMQW#m
_` _'/ " `-(!@t@<4"@%:` , ```_ ` ` ~ `` - WWqAxMyM#HA@fWBSe__;` ,` , ` ` ` ~``(L_'*X@$W#AqWA#$##WMWpPWWmE@Z#8Z@q#
!_%-^;"`` "-j=("!$-s=`, ~,;` ``' ` ! =`6HI@mppKOaGS@QWTt*g_*"_`-,`` ; `` -`,'`` ~ %QHKX#KWHWwH@#N#Wf#X@mRWqmH#%W
(`>`),"``=j'"x*"BWifWr'` ,`^, ` ` `` ``_|@5@fWZ@#HM#%GmI#ms-!4c `A ?_-:``` ` !>--`L``c``?d#WGHHMBWX+@BWWEQ#g#4DN###Q##W
U_',|"^"`"'c!rA-*-j"]:`` ! `'```` `,`-__qpp4aMmHg#RhRA&MMA#WqQWQ-A\3c> @a`c-j$""^j:%- ` ~``H#HQg($NesMHpW#mBWH##NH#W#NQM
= "'*-:`%`_--_-C#$-@-^_ ` ' `~ ` ````_qp###$vX#DHV3=#H#MBGq@#@gVUXjG{-%s|+J|!VE_WW$@A" ` ~` SW####gp"j7@QD##W#@WGWq###Wq#
,!`,~`i` P_Cae]W`s5K#=_`` ``` ` ` ~ qq#####m-%f@]WBKHmmA##H%WHGAq@WBWHX@@W@#qM#w@T/` ` -V#######A_;!FMQH@M#MH#Hm@WHM#
-f`$""o `s='+=jc"O3a7'- `,`(` ```*q#######5=$I]gQs#N@=@W@ymMaA#BMqp##g##H#A#D ` o ~=,^ _`_q####p###@_-O9*A#TM#kW#A#q###
-`& ,^"*);j=y`V"mW~a3;*````' `',*[-########MWa@%@-0ee@E#Wy@#@@T@UH#####W###Q" `'`` '`` ~, m##Q#H#####By >;>SgWsN#QH#@###W
)!-`"='`''-3-d=-@@j!=_`~',-`!,aIWp@########p@#1gDbMDNWMgpTMW@amWV$#WH##W##B\ `)` !`` , (@#W#######H#AQ,:Tm=$!W[Y_6HG#W#Q
j~=""*!-)Cs,+=@|W({vj$"-_i&gu~-@$TH#########p@*@#P#A#@QQ#HBAk@NN#m@W###AH"''`~` ``)( * _q###########HWEDVJ|@jDC@'#*S@wqW#@
)jJC<_";=,((@GF|$$W"FsA*<jD@[W@@Qt###########pQM$MpqNgQWTW01%@@@QMWR#GMj"_ `=, ,`)(`!g############W#QH\jz|j"2$7|m4"ms$=>WA
=!?-<_^-si=fF"|Dj_k$@IjkWWWWQa$kym###############g@jdp#WN#Nmp@WRWWAW""J`_-* `` `_'Imq##############HrWcV"_v_@$WgN=GIg)[R@]
_;"!w*oi`vsvj"D&V*G$Xa=$#F$VaW@KA#R################QWqm@QNBZ#H#V@Vj-V`_-~[`"= _jqgq#########H##H#B8"|_cF@g"_QTN{W<eUW$CF-E
"T($,'=-^ts"_@=@-W$p=As@SQoWa@W#B@M###################AqAT#W#T#q@"-=''~[>',$q#M#############q##WWC_*ArJ!*#j@G$SD3W@N#EFrS#
el*("}^jtf+J~%xW=WA=#y#WqHq#Sq#NHpH#g#####################gq###T1@@j>"$=_m@g#H############H#Q#W5-x(W;_YWF%@*rWWJQEjWX@Ki$-
W*_}cU!WZg@~jw_;:^==A_"kW#BWm#####WRW#R######################H###q#pgpq################A####W%\_!I=c|-kTWsQT"-_%t=sWV]NQA#
o-);B{_g-(==W&=+PWB_j@G38WEWAWMMWAM#Q####WH###################Q#####################H##A###Bk-:saa`a""='E-@y_!4TW===VMYMAm
@"cd-2yVI"i@-=J9,ei*%@P"W$EFJHTU##@#U###@A#W#######W#################W##################HWC_"=I=-p,"|_>F-*"@(Wg(WF=sNW"+e#
jJ=x@"|@aaWiZ@$Vv9r*HTDi*"K=$%VXID@NH#W#%@#GBNVW###########W#######################H#W#@*>`%'\`Wym=SL_X@r\@Ts!A##gW)"6KAVM
#W_J@($%"pPeRbO@@+@eTFT&>*W[|j5j=$"[NwVZ%Q@@h@&@a####H###Q###########################W"=#=wda=F&jaA=W(@$m%|"$"m|&-$>$V%PVV