Alexandre Davy de La Pailleterie Dumas (1802-1870) — beter bekend als Alexandre Dumas père — was een Frans dramaturg en schrijver van hoofdzakelijk historische romans. Zijn bekendste werken zijn Le Comte de Monte-Cristo (De graaf van Monte-Cristo) en Les Trois Mousquetaires (De drie musketiers).

de drie musketiers
d'Artagnan en de drie musketiers, in een geïllustreerde uitvoering van Maurice Leloir uit 1894.

We hebben de drie musketiers gebruikt als inspiratie om een citaat van Alexandre Dumas te verstoppen in een rechthoekig rooster. Op elke positie van het rooster staat een letter, een cijfer, een leesteken of een spatie. Het verborgen citaat kan gevonden worden door het rooster van links naar rechts en van boven naar onder te doorlopen, en alle beschermde karakters die je daarbij tegenkomt achter elkaar te zetten. Een karakters is beschermd als het boven, onder, links en rechts omgeven wordt door exact drie gelijke karakters (de musketiers). Merk op dat karakters op de rand van het rooster dus evengoed beschermd kunnen zijn, tenzij ze in één van de vier hoekpunten van het rooster gelegen zijn. Als de musketiers letters zijn, dan moet het beschermde karakter omgezet worden naar een hoofdletter. Als de musketiers cijfers zijn, dan moet het beschermde karakter omgezet worden naar een kleine letter. Anders moet het beschermde karakter in zijn oorspronkelijke vorm behouden blijven, zoals het voorkomt in het rooster. 

Invoer

De eerste regel van de invoer bevat een getal $$t \in \mathbb{N}_0$$ dat het aantal rijen van het rechthoekig rooster aangeeft. Daarna volgen $$t$$ regels die telkens een vast aantal karakters bevatten. Elk karakter kan zowel een letter, een cijfer, een leesteken of een spatie zijn. Alle karakters samen vormen het rooster waarin een citaat van Alexandre Dumas verborgen zit.

Uitvoer

Het citaat dat in het rooster verborgen zit.

Voorbeeld

Invoer:

60
GI=+Y\_=iT~("1G{bW^;V{)oQA%j.WK3_4CJ4tpE-0V}j@q)OMt`s`^A%5P9]<CnL"G!Q<O5<DD_tlH3
"Mv,1"X`,=+xi-p,LL\}P_eZrWRr^071_G6*hCKT@<&60Wi/e?QtSIY>JtZXN.OiewrwS0^A=`:l<yAw
.R9qT)U}e0.>f&wAiH9<V*I4{)FzJX*Jacm6i5{\2{v@+uR-]2m_V_;@;Wb[y0xx3xSd,zD@bGV9tP~G
6L>bUUNkbz<quAgwa~~8zm/"\-idt#>d0)~;<xNTS,(;G~Xb~2S:#+,^v(~h*0B58vg|4"r<!8gw>Zd`
v#gr>7q=]}wuEV*VAv3I7$";)8#R7X?c&Yw&;hM`)Oi[ZUZxos|b*<^A,H{|R&I>Z8q6{)XgtL.M`*8&
`G,eh:uH7XU6zWNf.Lb!X^@M5l5CNT;.qfyVC~4EAsiedB\Mv|l|}XV^S%D[1@lIa@W~FWNO<,L{`m/\
TW,zW5ISu_Vv?C)d`IRp8Zm^U5"A5@&;[f-fSVA6!`C0kl=S+D<{Ty"&nH90f$R%?8Qz9X`~<`UW+n9T
0e7#cvhB(zhCMWE2|9}AXXh2<IG54^Tq70Om|qL}1fl1~(!v{zPwX.Hf6,OUmKO)gV>FGPkF/W=?NKRL
&;+23cB4JHaW;t3K:&9{MM9U'jW'c\A#Y"WcHP6Aa;(cQ4pXmnf14u?!C_h,vt~6'IRxzh,.d;ObB.0H
yC2=BK8y6tY:3YR!>uB6/m$;"XMEUt/wJ92dV0aOY@a\m_2ZpjEyj83dX=J8&x('WSC1D9U/pE>^T~Zo
Ge+LF{FTE}ed1=8ow;#y^[v|m]4Y/G9>&.(:@L~s\`mo#`nfJd(_wH~C0"g[FsI-(bXMzBIrK}|<~ FU
;Txs_?EJ#u9XA}s=oh*'$p\.~0Bk[fLX<dovzSR4|g`LM>Na&|3Bk[g3Ni_hH1/J;:e+O["G[tAX,~/(
toOJQ|D6]!\?2t*|k>@jAqMq'Owb?$Ko{gCGKZ7M!F@1oq'h>:OY[OVFsH27Bfzhmq"x`D'FGDn:0<Zm
}E!3rb|0WjMu9V(ezL9LS|s!&fhSZjgX@q8*_;zG(vOu!i%]b9~[%D$T9m*NUa3!umt;j2%\S+:.e5+t
<B[9WwW/],T6$o]o,kWE|NtN<!~h,;F%LrrW9bw}4cXokN714U/HYGMu`AK9J:)<Qv\t2f2zu&-ee~cO
.WT~[|K-v;\_d}cY82an\9({p[ni\)UAy'z/7a?gLzaX+fZO1BH~dRT3wLWz$-E(_wq.+P~dgb(x=pB&
88YVQ2a_E<(F+;W2LY(D0_mXSH1]q'AgaQsfb{<3bv?YI:_1G3@ZgZdY1Gw]n`8<-N)6_`o@L2ZcG6?Y
8{<)7>@"$u>@[BgQN4#hu{g\t@_E'r|fu(l=:m&EC^oFFaP@qDbl~0r$pIW8dG47P>.~^m2dm-$\dGQ+
H?e:*RrSy'+Ii1UPQO9Q4@S8Vyj6a'UX?4[O41W2OS0ly4_fWx<$"5*@2s1GVH\C9`.rP1R6miQtZIOO
u3>?Y:t;anC7[K\hOYW22):d}4&cTh})[3iBer#t_o\&A-7S`[>j[1Te'WRR`-^HeVfT~*=7nED4bLAo
xc5vMZ+0s%E-mf6c;)sXaUDIjqVo=>Q9vQv7utWg5%].v3y/)d.4.yC)wTic=Hpb8gz|C:Pxq8d!Rls8
"<XT57RqyjLI0R2``?)i/wLP:#xXao$z&t-W72uR~2vo]]qNX2X_[A]#|S_N]k39S(ISiN_Cm\,`ny%z
\T|<]tI+mS3&cXg)@iXw8Mj]L`EqSOMYsBYD|e=BRee%R=?9D-I+,AHK-x85vpYIS;*9O;dpTTJS\z5J
D$je-.~33"1-4G{5euUq=NG,_"F9?:6##oWU@8!UF:LpW\IU~nL:^,rHohY#^43@n"(221za,Tt1oqMG
l9!t?IE|/n^pdu>Yh<QB>a(dA1,_Tbyw610-M3yj7mm$NE\{/'tC5+C&MpfMsU:W}y_#o3QnCFHBVEfu
,tj.4w-+WZ;=f_HSu+{s'HvbW"<C@"A]sS5s?tl1Cw%L2E}(fjr~!!.&NvGHFcBC0>@*lt-ToQ*0Djg%
*&WQPdR[-SOr)!DLI/:6^}W6AN6n%%Y9Db]>W4=dNlix}RT;!'BZB|27S*pQO[T<.t=Ns_eGLy]=,0%I
xQly.mYBmwf>!Rqzm)97FMdC_D5>,"KF'`0Cpc*_Hn,Ee}"8=1N4h2aI2FRVA,Y`y. =V\dAmuI\##nP
>Ubw]v7v>q;K;>HS0B]G*CBf>6sS*stjF6[IQOc.#PKlg>{FzjT^|jF84S1+h2+U8%=5{)e32%K&?bXP
j83J*umHQBYSt,}!~rFHrn@u2}f}`@<S'C=RZ;Az!kk0H{88W_$#k%{YR|y|!)([?"Q:5tx8%o%>A2d1
<'L`@#Z]#0u9vJp#(0QLxtrG%p`7=}N@4@ix(+s'!ELlh\*!>!,f.z;1t`3}Ov`l8`w>(p]rnAZvxiVV
B*ceAU,,>5NGti.uDyngy]KK<%[8odUIS%83h]hUZtPNdDR^v+ole+,fGl:P_6C/`)ub-+[})+QCRO*T
-:Y^`(*r]#YgX'B}+8r3h_3t\ftc:`0P2<s0ns<{GMJ$z5*j_%82^D~.=iL&SvaVO=R<~>}sDo/KCU|\
+o/P1Yb|7Jk>+0a{\@/8EA&R:fT-#NjbsSE%>|#NpyDny=:n0wG]NIk=5^tR,kS)W5[jI'b~7CtVvBA?
7jX[i)W"tD::NP+'^yOmwhJ"cz>g%)3K=>q''$@:2A'*unT{->,+,'DpQ(&lr}@MJ[i<J8TW$H<T8@jJ
~9`0M0cFK^/^.'`BwH4Lit.a/X'>[3ndeQ)#b+dAa7*-*;j-e-m&@4Q@].*>},}lZnEQsYj:h-a[i'[R
Vh!wpb]1VH/ILEU&c/+Z?9k10>:h6C3m6Q7+&DrSr[(*e%^Lb?\^e5&[A#6}qjagbl#f{0`miJ|'Jt6L
^z17P] 'O,iS!?0^a^nsyGJxh$9b$ESlMO~KIw3-*s0&kc}<e@Kp[1b=75N6r`oR(\*1I&Sx<C8Q'`1E
q}xVWk]{,deu3*VU^gR@Y14W@jnpCPh^Bm9V#/FfprOo-_&vVBeWq#p\$s6H{5p9]3}$:jV$?#wbLGV=
TVKKXxCEI,`+G;)Bo6@ xpI5F(ce37JaC<llfzm;HruTBO:<W+rU"3tro'T3>mph2<S524J"~59C)KRj
0cXt?1GB3a\jwMKL]}I@*g`w~>y_ZHj`HmOA?DO/q/IaPFE$8NoZ]'[);h&XfL'I>q_{'=do""~`I(0(
Pd'(0*hJ^YdxF9BDPLH;,r8aVi69M=I;,V{f{)ta=>\K$Txc_g>bBXq&z2:c#jNA(k.h>"z"rww;x^77
$3UWiwax;vpz=VEoy{MEn`'w{EGcLGd#ZV`CkSxce%SG|K~Ye:PUVqaHM7Qz)|S0O+/(%3:_ntNgBg<q
OuV"f?E5r7;+]yB~p5IKvUDTzg_Q`$L1GZ$!s;1s@3ROvpn@7n79AE8g=p%HwO=)**e(h{XG\!;[?7Fi
ClBM7N4GXg\BHGXum_$6oc2FQnFj{U]t"fU"h1eiks.td>5#[7x';{3fn0|0U[=;6:,cKgV<1udzxaJ8
$iTm'[`f,Eri<'|;u.b=pck/Vt10^8FS!]" _.1#6s'JX'M'!AGcd,8z(<OZX`u4<WL"y9I)R[_9P90H
bn<583!36:{k0zXK{/CM#T/At:5^f`kM#P\"9BEjCuj"F!ai#s`ER\+a<o<ugMpLNZY4OpWFowGQlM^+
DBRU[xGI5DzVn~-K"`La*TL>rs14^Z<i?~$KFAW`BmSUU3p^@i6Po)i'U]wxK_q]spm;KAhSLp-DXQ2)
o[Nk$l<O+%np,yaiRQVAbil/HP#J(x/NVX{]%#4Z&M'2KSY|p099@6/cOXV[gp:P48>IuPhgyV`h\Laj
h$[=>JbI!,9#xMD(~c*a:%V<QRt,*CFalq]r>&nw}6|oFO2E8\qBW,A+u'l#O4*{3v6lER$r)~M<OM5V
vcJj1&6o0wCEm)5Yb+1a|j!e6Q~ ~JB,Mn4]RO8YHLY6FErZ4fY-z^6y\ZyhOGTR+QuGC<J5j}eN;<Y^
COo}p@1Ib+p.8;b=$j*Qc&y)kVt~&;HwvNS$S5A5OO[!C?w\F[:^l.soR(7#he6"b6b.~N2y,Y7ab=10
2|=|*w#wxFy_*\;e<F%6Vn<-=mQ50@S0Az'vE*5/625tNDHCsAMK{Y`t,^(q/67#fR^Dkq;YF%<e!Gax
Le5o5g?H,l}Cr>sG@TZG*%bI{r0'l0[&pM<IKOb!kp7:QB"zF<,iWa=rS]gE86}W+w2{j)ZekX`v$=1-
0G}8#2U;Zlc"zot-|ia{&hRRXI&P0R[T|4*+e]m:]a;xt\q_}C`bs)G?W=Bzo=<t&5~_hp@#v@:Rlho{
dLGJlt}1}z.su3(p$#uCxFY<R\tFIY/#/@;D<l#PV1l1v)$@&oNK_wHM8KeV5[>USjXExH6/*ZT,!9z=
w_\Wj;P<nPIlgF`vRN)%EWa\dn?IWhPgNgY_Aa=eY>1Ny_xfl&e,qiA\d^XXBWsNR-S)z&j&6KZ={{y]
R{Fn=sd,yk6r9%R;T<U78i~Q"CD"x=Q|#Qheo*F{5f-|W-CEa#2m)4J/Oz=)ca/`Y'kYM:V)$qOTbFX%
|15>r&i4C\)hN_lEZ]8C`UNP|9MOB-E$'ii`q'B|_C9^-SoH#!#&eQv'}/p5#*S6Ceu7@'MSet;"]q_4
YpS@#^'EGS*3|~F5f6X{2D%*u4M?~g7@7sD9e)|z4YP7XwD>JP~q\Cnk4}#CD%v!z:A:Zq,)h=RoV&k&

Uitvoer:

All for one, and one for all!