Statistics

Problem Statement for "Foobar"

Problem Statement

Some chat rooms and bulletin boards use a profanity filter to strip their user-supplied content of words that degrade the quality of discourse. This inspires a few foul-mouthed users to mask their objectionable language by replacing letters with symbols of similar shape ("shoot" may turn into "sh00t", for example), spacing out the letters ("darn" to "d a r n"), or both ("hell" to "h e 1 1", where lowercase L is replaced by the numeral 1).

You have been hired to make an intelligent filter that defeats these masking techniques. For the present purposes, the only forbidden words are "heck", "gosh", "dang", "shucks", "fooey", "snafu", and "fubar". You are given a pair of Strings, plain and code, such that the nth character of code may substitute for the nth character of plain. Take into account these potential substitutions and all possible spacings of a profane word, but disregard the characters surrounding a profane word. Given a String of text, return it in a censored form where all profanities are replaced by a sequence of asterisks in such a way that the length of the String is unaltered.

Definition

Class:
Foobar
Method:
censor
Parameters:
String, String, String
Returns:
String
Method signature:
String censor(String plain, String code, String text)
(be sure your method is public)

Notes

  • All characters are case-sensitive. For example, "heck" is not equivalent to "hEcK" unless the input parameters explicitly provide for it.
  • Overlapping profanities should all be overwritten by asterisks, so that "dangosh", for instance, becomes "*******".
  • None of the input Strings will contain control characters; text will not contain any kind of whitespace apart from the space character; neither plain nor code will contain any whitespace.

Constraints

  • plain is between 1 and 50 characters long, inclusive
  • code has the same length as plain
  • text is between 1 and 50 characters long, inclusive
  • each character in text has an ASCII value between 32 and 126, inclusive
  • each character in plain and code has an ASCII value between 33 and 126, inclusive

Examples

  1. "ogg"

    "08B"

    "I say f00ey on this dan8 problem and the danB set!"

    Returns: "I say ***** on this **** problem and the **** set!"

    The same character may be substituted in different ways.

  2. "eafk"

    "88$$"

    "What the h 8 c $ is this s n 8 $ u?"

    Returns: "What the ******* is this *************?"

    Different characters may be substituted in the same way.

  3. "au"

    "ui"

    "Dung? What the ding do you mean, dung?"

    Returns: "Dung? What the ding do you mean, ****?"

    Substitution is not transitive.

  4. "YYYggggabcdefghijklmnopqrstuvwxyz"

    "XXXggggABCDEFGHIJKLMNOPQRSTUVWXYZ"

    "DANGitALLtoHECK"

    Returns: "****itALLto****"

    Duplicate character substitutions and redundant substitutions may be specified.

  5. "ddhhooggss

    "D*HNO0G&S5Rfubar%f3k<:..."

    "Dangoshucks, I say, * a n & 0 5 H u c k 5."

    Returns: "***********, I say, *********************."

  6. "heckgosdanufybrHECKGOSDANUFYBRi2=u#d\"?zb-g-1)UEkb`"

    ")EPg\\)ut/|Vlf6\\$q54~v\'g78E6V\'J764*a*(nn7%[$Z99"

    "-sS_I]zE}LRw=pi9?p[ieda |[s0h8N%f3"

    Returns: "-sS_I]zE}LRw=pi9?p[ie******s0h8N%f3"

  7. "heckgosdanufybrHECKGOSDANUFYBRI6?`Q@5<[R%k%:^0(3zK"

    "gv_QkW:6Q[p|i\"~p&|"

    "iT0/sx4ld:xUd^h

    Returns: "iT0/sx4ld:xUd^*******usk 94$boq,,Xk!.*****u c

  8. "heckgosdanufybrHECKGOSDANUFYBRS!r=oab6MX?=r_L--M}$"

    "9GF}CD\"{$2o9;9H!eZz\"U~SE@}@k%N+-N!OVKaP$Exn#l97bDf"

    ",4{98]qfJnUlh0s 2a 9eFkfo{ <4UD@79 ooe; 2C:=H{F-"

    Returns: ",4{98]qfJnUlh0s 2a ****fo{ <4UD@7****** 2C:=H{F-"

  9. "heckgosdanufybrHECKGOSDANUFYBRQ-av>LA

    "5)DsM]);xT{y\'!vF@y+b6nT^cd

    ")5{)n: fu$7%e Ds1BtSnz;aTM\"srUsnxfu=s*5\"j*+[h[u5("

    Returns: ")5{*******$7*****1BtSnz****\"srU*****=s*5\"j*+[h[u5("

  10. "heckgosdanufybrHECKGOSDANUFYBR]1Y|:{C9O,Uq(1ii.\'!T"

    "7c#Hnpg_XI8KU$TR8p#0Yg[(bWnFnhicDA=]hXf$}JI6&(oZdS"

    "$$+I|heck]W{/s7 u# HsS|t@fo peU p peyx]]v_=x/b\'%-`"

    Returns: "$$+I|****]W{/********S|t@****** p peyx]]v_=x/b'%-`"

  11. "heckgosdanufybrHECKGOSDANUFYBRrXlVF/ZlGI1?0(pn&>-Q"

    "@A7;NFS3{CpKM>\\eWd}ujwJJ0461!#}/YmvTO!=E]8gX{7scmc"

    "IaV#n9!mW7o$d{nNRLAEM\\9f!q3a CNos@7S @p c;SyT?3W{?"

    Returns: "IaV#n9!mW7o$****RLAEM\\9f!q********7********yT?3W{?"

  12. "heckgosdanufybrHECKGOSDANUFYBR{zLzUX;zR!zu9)Cvqggf"

    "=:9}N77\\Pk(US*J|g0o\'#CFXDQO\"REJ9V:*AB,`ZM:aem4>=4A"

    "l1\\ang-D\\\"g 7 7=dl{ND=: ckZLyT8= 7nPA:~a^%KCB02xc"

    Returns: "l1****-D\\\"******dl{ND*****ZLyT8= *****~a^%KCB02xc"

  13. "heckgosdanufybrHECKGOSDANUFYBR\'

    "gSuaO_i3MW[XA9=OdCO6|O~5L61

    "]H_@1<-0YM:a,XE 9ar7X oX_o Sypz=nO_ iga=W6RnC"

    Returns: "]H_@1<-0YM:a,******7X o******pz=n******a=W6RnC"

  14. "heckgosdanufybrHECKGOSDANUFYBRwlozoq39F\'gq>lba(vK<"

    "[g1Xc0_ePrr;H(`.2z+#/G/)8v~io{lJ)Sz(+n>*[u]01>@i6u"

    "VoxKYd ancBOz+5LA6f0oey3d@8bbsh u1X_ 1P`{LHe7J.b"

    Returns: "VoxKY*******BOz+5LA6*****3d@8bb******* 1P`{LHe7J.b"

  15. "heckgosdanufybrHECKGOSDANUFYBR5<$$7dAgp3TsOrz8g\\3L"

    "GN(g!`YI\"o\\rZ~pJFZvY#(0kk]Tn%IlY{V*;\"dBH%B]#Y\']6J="

    "O>hJ(Kd\" od#j65hf o `Ny cr ``eZk-MksHC-l [,\':\\4en"

    Returns: "O>hJ(K*****#j65h******** c******k-MksHC-l [,':\\4en"

  16. "heckgosdanufybrHECKGOSDANUFYBRFh84g%XzAFJF(xXxu{$S"

    "=O|%zd7T5EIf<\\\\S?D;AO:~!EpBM:~g7RN`Anj9Q[]>usu0Fej"

    "HUf odesnaf0f doe

    Returns: "HUf ode***********e3*E\"3_ z;8 EfpY]F6D*,+****6$H)t"

  17. "heckgosdanufybrHECKGOSDANUFYBRr0>3#asPh1qq8mf+Y^4\'"

    ">/+IHG#\':FBa|\'.;:3fyBtNDe\\=_Z{l\\;0i3+fBV04AVPe>s]j"

    "KHosBqf@~[9G.PB \'alV9\'f B b 3r_{TaokgH0p?Fp>e +ID"

    Returns: "K****qf@~[9G.******V9'********_{TaokgH0p?Fp******D"

  18. "heckgosdanufybrHECKGOSDANUFYBRtTeDC7;4[hvER\"\'-8@A#"

    "kx3QcCcWn.`!MLuoY9gQ/+Ou.&!sz[|yo,45>Kw5\\+^:l?/

    "c. a f`R*-!)S25ecQ3)||x@802Kcoshda.g|@*>f`Lnuo[N@5"

    Returns: "*******R*-!)S2****3)||x@802K********|@*>*****o[N@5"

  19. "heckgosdanufybrHECKGOSDANUFYBRx]jdM^B[SZ_ooHYhmK!W"

    "T\'X}Hh5S=WFLJrinzV7W~qjHAbutGx5c`Ki$S6SWtVDod^SYCL"

    "_FO

    Returns: "_FO

  20. "heckgosdanufybrHECKGOSDANUFYBR![c-F"

    "*czLwGAFu\"6qYFx1`hx_\'PGVIv#u?45B|8z2S=/zpR.QDyB\".N"

    "]~UQdu\"wa.vFZ{|6Q-he |ks*uzkA;tA hucLs cck/+~dsaY"

    Returns: "]~UQ****a.vFZ{|6Q-************;t******* cck/+~dsaY"

  21. "heckgosdanufybrHECKGOSDANUFYBRUmTk]Bos:51^o-EjGF|H"

    "5k=B@K\\08);LM

    "7hYkRw@1NC26LubarLK {eM-BT

    Returns: "7hYkRw@1NC26***********-BT<*******!toj8******n#8,K"

  22. "heckgosdanufybrHECKGOSDANUFYBRJdGj?98u;+.-,:L)SZ/("

    "pV]UpWg:{~.9Q{=K"

    "s|Wdghe]k>Va]5D( TKk(VSxU

    Returns: "s|Wdg****>Va]5D( TKk(VSxU*****F^****************j\""

  23. "heckgosdanufybrHECKGOSDANUFYBR.Yl.u\\7`rgG3;Lg8V>yi"

    "o}|F~y7}ltVb~enKJ\'=%PvVla>Nt6ToLLp_D\'xiJ*KRL*`V1$m"

    ">L{gK/L93;VWSQ=f _b an+b%Ks}a n*o7hbu]:dG;tdln~$R"

    Returns: ">L{gK/L93;VWSQ=********+b%Ks********bu]:dG;t****$R"

  24. "heckgosdanufybrHECKGOSDANUFYBR3o)s#6^&/|\'.lko/3|

    "6/arw/=[WWj};1W{U_~*9^5a?4*N&\'T\"@lzK+b[,sFNAvD2Og%"

    "\\I ID:5cS+H6/a6earZ} \" o/;xtWm+f ubW%Ijc&d:+26/aAM"

    Returns: "\\I ID:5cS+H6/a****Z*******xtWm+******Ijc&d:+2****M"

  25. "heckgosdanufybrHECKGOSDANUFYBR{8kv:nU1n!Y$pFS!L~$v"

    "e+xKw>fr+Te\\@3tTh7,Wp.YL}:[^Pu?B\\t5rP1q)8Ji(Lmy8tg"

    "n/bwXz+JA$TP^)cafub+rM*v5ael[i!6wrf eecsq+\\e3|;l5%"

    Returns: "n/bwXz+JA$TP^)ca*****M*v5ael[i!6wrf eec*****3|;l5%"

  26. "heckgosdanufybrHECKGOSDANUFYBRyQ}E!mY}UOmZR5V?\\C8E"

    ":b\\IR1_M;llD+zUEzia*y,$BIE-jRHbY+&F1A2ldQwN]-

    "q[S2t2]d(h=?h_ hl\\_ n;fl by\'nDc=tAr eu\"\"\' +BY?n6+X"

    Returns: "q[S2t2]d(h=?h_ hl\\****** by'nDc=tAr eu\"\"' +BY?n6+X"

  27. "heckgosdanufybrHECKGOSDANUFYBRnte#i\":$\"j.(n8;zW*B\'"

    "11V.c#ShFl\'`G[}EcPJj_Yku}w=6b-%7].Yf@1W?Vu6!qzE2UV"

    "t?G2ir\'~9a|U|d^B_.x\"yCSs lafuWe1fSna`u ba} f\'cCY"

    Returns: "t?G2ir'~9a|U|d^B_.x\"yCS******We1f*********** f'cCY"

  28. "heckgosdanufybrHECKGOSDANUFYBRTP\\s<{\\_rjr4t%^j^dX1"

    "c])47Ts9RH#l\'M[ar~RnRb3+zih|HcQK%6y])`F\'3E7\"!nBC$*"

    "R[is HR gosh!B4m\'NdRfoT]\'e_*Fb7 T6hqHj%}?0)!!l

    Returns: "R[is HR ****!B4m'NdR*****e_*Fb*****qHj%}?0)!!l

  29. "heckgosdanufybrHECKGOSDANUFYBRNT}etJ@U

    "{|l`d4yl6~lmdlXpjmQth%JbBf+_qgKTuWl}#\'M3`Co{DKS5F<"

    "i!x}3Fy{uc `ysny ~ a mu\"s ~ 6 fsn a flPx /BDa4"

    Returns: "i!x}3F*******sn*********\"s ~ 6 f********Px /BDa4"

  30. "heckgosdanufybrHECKGOSDANUFYBRyGL(xH

    "gvZe6IN#1PX1VJDhlgJMS2^?S*X{\\/v&$|mg+I1CJ-:>iT7v$-"

    "s gvZ6osh=sER&3%v0tn@96oNhgy%vU?u4.f oI eVOIG##dYQ"

    Returns: "s gvZ****=sER&3%v0tn@9****gy%vU?u4.*******OIG##dYQ"

  31. "heckgosdanufybrHECKGOSDANUFYBRssUo0*,]Q-Zso!omBch."

    "c>Y&rPWvD\"EI&D@ImSe2!uH/LeUo!I/no:6#-0gG&_wGh-J7zb"

    "q`\"^~sIuIu D a@wdanrz`*:

    Returns: "q`\"^~sIu*******w****z`*:

  32. "heckgosdanufybrHECKGOSDANUFYBR@u2QNDJJ?}cZARuMU.aR"

    "W1m]>z^>p6qwn!PE3Z;{ApF.MgH9m^)PdOv_2_wDo_&CtUb]dY"

    "\"*g z shda6>g|fzz ^ Wu c ksccFj(L0Q[\">o sW!I*"

    Returns: "\"*************g|fzz ************ccFj(L0Q[\"*****!I*"

  33. "heckgosdanufybrHECKGOSDANUFYBR.NX`)0u?s/\'9[b\"4=<*."

    "}pq\'yzNZ,7,>J=e2\'xV4#w4JYPk*;jHXUYkL*$1_5f?b?+XSUA"

    "N 7 ,f*%#Oyg&ndPaZUhe q\' oz py 7af*#$H,N7af,\""

    Returns: "*******%#Oyg&ndPaZU***** oz py 7af*#$H,*****\""

  34. "heckgosdanufybrHECKGOSDANUFYBRg?9J_t7uV=~|\"Pm@VCGh"

    "@!$`A&f=fKv:D$A`}JTX=9N\'8:\";\"6dQTqAm5on[Z5.CBa?stO"

    "3:ooeDb\"hury1,4$zg&f@\\}j<_r&LCf\'Efhuc`g &shckNt9RQ"

    Returns: "3*****b\"hury1,4$z****\\}j<_r&LCf'Efhuc`*****ckNt9RQ"

  35. "heckgosdanufybrHECKGOSDANUFYBR&yf|);YtL=%ozEzc]]5x"

    "U9A*v=orT>%Ae[0ZOHc`|{WWUO8D#{W}TG4ki!!f2P~T$B8gUD"

    "U@L8O\"dT>vXonaA%!9NGzTP =9s>TTuD!AX{Vv72\\RR8t"

    Returns: "U@L8O\"****X*****!9NGzTP =9*****D!AX{Vv72\\RR8t"

  36. "heckgosdanufybrHECKGOSDANUFYBRQCDOoA9~H$eXzX9eD/V&"

    "UG?3X=pleDwGQLtu5(2lsh+V;i$YJJ.X,qpu!p\"zfM/iV|\"0rY"

    "p hw? 3s3sg@p U u ?3s[uVH$Rfp Uw ?kp\"J}?f?zVbY)I"

    Returns: "**********3sg@*********[uVH$Rf********\"J}?f?zVbY)I"

  37. "heckgosdanufybrHECKGOSDANUFYBRs\'.NP.umF2ms#4SBC\'N_"

    "Ahq(9H7nt~AIdgJPQl4gW&tq@t>CefHznJ5dR01~4*/j^bk;r|"

    "f o oeyguK.opu\'-/s~ a fu^@fHH IAbtr.\'hhckJRy"

    Returns: "***********guK.opu'-/********^@fHH *****.'****JRy"

  38. "heckgosdanufybrHECKGOSDANUFYBRNP/tu

    ".jIlb[PpfMGl`Uw+-GT\'D6aYD%V`?ZPt$12@+~9m0V:o;:H.r!"

    ";m9r#cQ{Spq.EgtM;,s nd s M fl2 !d angS>v6e12"

    Returns: ";m9r#cQ{Spq.EgtM;,s nd ******** !******S>v6e12"

  39. "heckgosdanufybrHECKGOSDANUFYBRr#l4^)P)m??Y3]&0hMsj"

    "l*pLDU[Rpr|=Mm5=mfiYWbd^\"t4lR6\'/|O3$yrl9@\\?}F*P9-y"

    "i6;rLiq\'TE$fuma\'JP~;!;u9&iu!aCdS[h |Rp ngpfu [l#89"

    Returns: "i6;rLiq'TE$*****JP~;!;u9&iu!aCdS[h |*****pfu [l#89"

  40. "heckgosdanufybrHECKGOSDANUFYBRnD%w.KB<\"0<=(=)-b[kQ"

    "z}ncCE>?omd$:9or1YG4fQ8[QDtNdGVqDyNH1(42U?HyU\'q!Vo"

    "-LK,h~\"GL> na $szszunk>\'4f o oey_4~jdamC7amE=?:l2o"

    Returns: "-LK,h~\"GL> na $sz******'4*******_4~j****7amE=?:l2o"

  41. "heckgosdanufybrHECKGOSDANUFYBRxxbd_&O]3\'}V|u{A7qgI"

    "W,JFTxkJm+Ob}PuZR-7W>\'T\\C2AEQ[l]l3mPQ)R3]]gR,q@Pmp"

    "=g,jw)Ja +m83 fubmrs11(EB%T xkWbn?{Ik W OJ Fs`p"

    Returns: "=g,jw)*****83 *****s11(EB%*******bn?{I**********`p"

  42. "heckgosdanufybrHECKGOSDANUFYBRWn)(n]G1\\nrv$uZ~cCc8"

    "T:4f=OjyB+c#my~2MQCs&JM1bCIy${0iY9r+AXfC@&\'hk[[[1l"

    "X%R!= ojTs Tc[fj{Zu4C-:|6;R:wL +Dadai= ckshu1ksro="

    Returns: "X%R!************{Zu4C-:|6;R:wL +Da**** ck******ro="

  43. "heckgosdanufybrHECKGOSDANUFYBRfGu8WXUg@]4VXx1\'stPD"

    "2QJlxT4H

    "yT

    Returns: "yT

  44. "heckgosdanufybrHECKGOSDANUFYBRdqX>L&1dpgpJ@u\"IhrO?"

    "8F>>#UU^)4K^O!t`yXe[gVRHQV(Q9[ua

    ">0wd) 4gg^oU eyYAyXyQ$,l^ oo Fy9-U8 ucks}9xL;{}8"

    Returns: ">0w*****g******YAyXyQ$,l*******9-*********}9xL;{}8"

  45. "heckgosdanufybrHECKGOSDANUFYBR.e(_HJS\"8\":&DZeL/|pq"

    "a[)xR

    "ugg

    Returns: "ug***********iZ.y+*****P****gi}%7<\"2+NHDVE$S5[A'g#"

  46. "heckgosdanufybrHECKGOSDANUFYBRc#uh_zWu+uysC$-cGY$m"

    "PX1R\'1gaCTF~_>:T<^8&=cmi,?x,WM`p1@X,EsCz(Yq<0@XqsL"

    "W4ltz^kmPBsT C~sNhP e`k,Ml+`(MgT a~uA\"LDSdCn\'qAe"

    Returns: "W4ltz^kmPB******Nh******,Ml+`(M*******A\"LDS****qAe"

  47. "heckgosdanufybrHECKGOSDANUFYBR3}K7?ggN%(@6Dr;qWvU^"

    "n:Yd)\\%$ck{=<\\7l=i::cDRihjY7CEOR\\\'yZNQagS{5\'+F+Xtk"

    "$`nf{\\arPsn a=udu>N:e+[T% kc={yZ\'=o\\ :y\\ a7Av6Q,}"

    Returns: "$`n*****P******du>N:e+[T******yZ'******\\ a7Av6Q,}"

  48. "heckgosdanufybrHECKGOSDANUFYBR0iJ4x}G&^!7#qW_dAu~U"

    "~*-n^+[M4;6n2SAbnZBL$YK3JDf+Y3+_rO\"%zU/(pW<2OCSZMe"

    "LFW+^^#tnZ bs~Z-ks4dLEVT;BZqsnC ang cn[GNvzmgS#\\aO"

    Returns: "LFW+^^#tnZ b******4dLEVT;BZqsn***** cn[GNvzmgS#\\aO"

  49. "heckgosdanufybrHECKGOSDANUFYBR{]s$)x)$KLt$BGo>pNHL"

    "\')60^~J+83]y6\'*;#eL,,?e~K!eaTiJnD}XG:v^v$H.=O\\t^s("

    "::0Laro\'bq1fM\\D\'u60D,JgoD\'-2I0s3 ayumR?+ 8n^heck="

    Returns: "::0Laro'bq1fM\\******,J****-2I0******mR?**********="

  50. "heckgosdanufybrHECKGOSDANUFYBR0LdBuDcd7JS`-J6l9Zk~"

    "r^88ZQ!m0nyu$~8u+r:#`3GjmpWIy

    "Th^ 8,>t82r1WJO{CEqsnsr u5kso;! nafu

    Returns: "T*****>t82r1WJO{CEqsn*******o;********

  51. "heckgosdanufybrHECKGOSDANUFYBRF*0gR`7(xL/gbJb9s.\'Q"

    "BR_#L.pQv,\']}`gRcY_-EO(Jd!+UX.O.1<=2&Zr_eWSCMqPtix"

    "Wdv,gem{|\"Cp nv]u44RDi>OP|/bdangh Rck`,/EE\'.RcR{0"

    Returns: "W****em{|\"C*******44RDi>OP|/b*********`,/EE'.RcR{0"

  52. "heckgosdanufybrHECKGOSDANUFYBRe`Ap\'jCdb{UuZ\'\':x@pA"

    "@()#WZ3FfIGTG^^OmvWX]\\unH\"HYJ,/+Q6V5$yeNHH.I7l^BG<"

    "%$SBh ec#hnK,TQWqRSiRsn afu@hm~gDgZsya IgPSDqY96x/"

    Returns: "%$SB*****hnK,TQWqRSiR******@hm~gDgZs*****PSDqY96x/"

  53. "heckgosdanufybrHECKGOSDANUFYBRB}fppJ8on_->t3U5AB0K"

    "g.Pj5a}=iG8?wd{+2JhXRdQ0(VIQ|i2o>|.m/:VQ{0b5!i]-kQ"

    "}na?8{ txs\'B+s\"%i9V9~jGwU[_y-Xf[4U|sh}ni >?:a ey{L"

    Returns: "*****{ txs'B+s\"%i9V9~jGwU[_y-Xf[4U|sh}ni >******{L"

  54. "heckgosdanufybrHECKGOSDANUFYBR]wfhuqx>8{Fs^DvZ}&Jc"

    "GiU4B**\\LN$a)!95U(Q7:EIkr?DSlT35nK(*NK,\\Ln\'Y*[1Q^j"

    ",/7ao oi)ddLnBBWd%J=[*sh(j4au!a9qFaooiytpd.Cc\\Sp_!"

    Returns: ",/7******d****BWd%J=[*sh(j4*****qF*****tpd.Cc\\Sp_!"

  55. "heckgosdanufybrHECKGOSDANUFYBRdBj&dAkxbKqdb]f^==*`"

    "^\")fLE]Ia#vit;VHM#NBz_@<\"C($]5(O-,{m|pJhZ*iR%8wFTp"

    "zi\'!^2{pu8*\"gIf%ooetVW*TO6L@Z:lLIm_^\"fEE\"t a#g2I2"

    Returns: "zi'!^2{pu8*\"gIf*****VW*TO6L@Z:lLIm_^\"***** a#g2I2"

  56. "heckgosdanufybrHECKGOSDANUFYBR}%j\\Yv/slK*g\'`|+${FY"

    "Pn-X\\`@Wpa2M|B99URN*`8LBphjK_4E%v@&)Re9oZaiVSDtR:p"

    "6$.u&fu b aM `M`oeyW|ltIgW aWaagk0\'VKyGVKhFNN:\\1gg"

    Returns: "6$.u&fu b aM `*****W|ltIgW a****k0'VKyGVKhFNN:\\1gg"

  57. "heckgosdanufybrHECKGOSDANUFYBR/4zP#-Px-).SZq(V2PDc"

    "]03|U%u/[hT(@AeBE/0{VaYT:d2uJ\\s0,\'cie8dLj_?uz?x,4p"

    "WZTN$436(](% oe@Eyn(u b [rx+c#77$sv@f%%0@\'jEdgnpkS"

    Returns: "WZTN$436(]******Eyn*******x+c#77$sv@*****'jEdgnpkS"

  58. "heckgosdanufybrHECKGOSDANUFYBRsUoHBc:R]s1n#qE%&jPB"

    "4qz*Im^Oz.X53)3fl;9H7dd{Q,rgwY6<`Q6(%Lp6H`ud

    "QY|D^+4qck<5u b z3n35 go^4<]N,Z|gfDIm6hQ~WJ"

    Returns: "QY|D^+****<************n35 ****<]N,Z|gfD****Q~WJ"

  59. "heckgosdanufybrHECKGOSDANUFYBRa@hL?^h~/#c\\lU45b\\Xh"

    "/;C,r5?\">kbn+mf}Q5rTE1g.e?b,QF|=`3>ED]|#mbS>`a}dh-"

    "&Wyn o5 e+RVvsDros`afb$<\\P^ak*hNV=|MM]%sn|fu1?hnn"

    Returns: "&Wy********RVvsD****afb$<\\P^ak*hNV=|MM]%*****1?hnn"

  60. "heckgosdanufybrHECKGOSDANUFYBR(d.40*MX\'04Bh{yWt;P-"

    "DqAl-Q_xwAXb9`[r=q

    ",$y a n-W@2Dp]^s h u Alfo oe9uH-QshFdIPP!xan-Y"

    Returns: ",$******W@2Dp]^s h u Al*******uH****FdIPP!****Y"

  61. "heckgosdanufybrHECKGOSDANUFYBR$F{LaV)(z\':14#

    "`O\\!S8/EAl{Y(54z>rZn;fz[z?~Lklx:2lG]{-i^BkqG=ek\"-P"

    "C`mwehEr[f 88Of{ baro 8ey+afo8Oy>HBs `uc ksK+;M~"

    Returns: "C`mwehEr[f 88O******o 8ey+a*****>HB**********K+;M~"

  62. "heckgosdanufybrHECKGOSDANUFYBR{=/6PEy[lEU%3k5(2+~O"

    "/jI0maaXOL`0G9Qg@CJ?:x}z=8Tp.U)kep._LGekQ`NT%r\":F\""

    "x&[QLs0 `bOrX OLmiRY%=^h ec0M/ e cks h uITsr!+?dF"

    Returns: "x&[QLs***********iRY%=^*****M***************r!+?dF"

  63. "heckgosdanufybrHECKGOSDANUFYBR9m5c\'95V&)Art>~H=X.D"

    "giMNd-eQ~6dISU7C=qQI.qH$;Y5b.W\\<](^G.&2/`Xy._ZSW6g"

    "a2Gehu g ecNa*}$LRR0|tI793[ J[};Id~6dZ5(Iisn~Iu<@"

    Returns: "a2Gehu ******a*}$LRR0|tI793[ J[};I****Z5(Ii*****<@"

  64. "heckgosdanufybrHECKGOSDANUFYBRT*;J+$R*`6;)XX?.DRoK"

    "14EB7n&rh(94\"}r91uWhwbp>k=-dhfP,+Odc~;f\'bgt\'`pBk=\\"

    "7(7n&hf =ney{pSS+$4 = n&19 cBsB&c1dqvec[pojp\'T|"

    Returns: "7(**********{pSS+$4 = n*********B&c1dqvec[pojp'T|"

  65. "heckgosdanufybrHECKGOSDANUFYBREJExB4A+qQ+v#>WO~)]-"

    "_55yn**dGj86kfG%=>lnP=G2_L)>C\'{m!gq!}7U\"Id8aoF/JSX"

    "3qku6ubaG3,o5rflwudbxNEQiLs hu cys*nafu afuGrTCw}"

    Returns: "3qku*****3,o5rflwudbxNEQiL************** afuGrTCw}"

  66. "heckgosdanufybrHECKGOSDANUFYBR4])R?d@F{&[Qr+Viza?4"

    "#bo[=sf{qPr@,;v8UYIh^&9Cn-`lx^7p,S=]cOP,;-\'bLZlCxc"

    "fna@u}T0y:\\2=os#$=UC.u#^LqdaP=4@os #e o[2_>|Hl>."

    Returns: "*****}T0y:\\2****$=UC.u#^Lq****4@os *******2_>|Hl>."

  67. "heckgosdanufybrHECKGOSDANUFYBR8[0C\"%gCHk|IZ(T)UbAw"

    "RNkk,r<|B{%(8nHftr_\'ZS@Y89x95-19aB/tkBw{[~lv1\"EVeE"

    "{\'5fs {B(%7

    Returns: "{'5f******7******yK;z\\r1*****Lc4Ay+******5&xmB7!A1"

  68. "heckgosdanufybrHECKGOSDANUFYBRLS%izx|D3p\\Cng{&+@W5"

    "nD47AHa.@mnFoWm9w)4JOq:9]

    "5\"0/Uq#jp~~~ahu cks.+13%=spMHhDckn4 7sg9sma fuTU)"

    Returns: "5\"0/Uq#jp~~~*******.+13%=spMH****n4 7sg9*******TU)"

  69. "heckgosdanufybrHECKGOSDANUFYBR-3efO1^/NjAuD4ez{)N>"

    "1>\'n3z)3#%i2m-&)pK6Rt/c{[aK$gC)dDZQdh?K(8aY#=n*"

    "F&mgz s17fRYUxdMK^g o)hN=iInMWA< l >ga%hd a>3M|%8"

    Returns: "F&m*****7fRYUxdMK^*****N=iInMWA*******a%h*****M|%8"

  70. "heckgosdanufybrHECKGOSDANUFYBRM:lT]#7\"M<-+w0k~0)!i"

    "ksp*IFi)Z&+xjdJ)./Tw!pKTgsUv\'nA_^)4(/l2fS3.~^_[oHK"

    "`)hsc*& a xuG?f+ bZJ++gj39RNwR3VVzsh +c*i4"

    Returns: "`)****& a xuG?********++gj39RNwR3VVz*************4"

  71. "heckgosdanufybrHECKGOSDANUFYBRkiqa$JFM#~1jtDJCInah"

    "wT>7lj+5^MJHgQ>c\\FeUP&JLy,tjxgaO{9\\KTFsm98JadKi>ZD"

    "2K%2k;(!1c:Sbfq=,E?)kQM^fT\\%f oo 5ZMg](sgoswgjswlQ"

    Returns: "2K%2k;(!1c:Sbfq=,E?)kQM^fT\\%f oo ****](s********lQ"

  72. "heckgosdanufybrHECKGOSDANUFYBR\'5;LzZ8>xZ0X#v}mVG_X"

    "y]@,V[8SB4RhYx)3N)xK|1)0w~9[\\:NTT6K\'FN3Q]Fk+p\'A9@R"

    "V[8yhR bar y uc k8 b Br@fHc\'g osy_kvWa_cjOH^3q"

    Returns: "********** y uc k8 b Br@fHc'*******_kvWa_cjOH^3q"

  73. "heckgosdanufybrHECKGOSDANUFYBRe<6[}iU

    "d)plSJ$nd7ru3MrpSVVh\"3+;T\'C-Qqy}+B)V!v

    "+v$Y1+uBZp.oejt.hE~cKc-;N;,\'7srbsdrck$rbarh J JeyJ"

    Returns: "+v$Y1+uBZp.oejt.hE~cKc-;N;,'7srb******rbarh J JeyJ"

  74. "heckgosdanufybrHECKGOSDANUFYBR|qbuO.X5[J32yPK:oR^w"

    "BJY0Nbw=3=;eH)1j5OGsX4&[JW7K\"(uLjR,txlKvb_GFsGrt=R"

    "v7\'?7< .aX?Tp~sh R Yksk7^FD*B7lsf bb JH,wn3eu19~r"

    Returns: "v7'?7< .aX?Tp~*********k7^FD*B7ls*******,*****19~r"

  75. "heckgosdanufybrHECKGOSDANUFYBRY6ro

    "ogv)Q/^4$UAY5P$3GC-[Ew

    ">526Hog4ang)H{ogK)+&RF+xr:I`Nuq)`^(cF{pqo/gy)sY|e>"

    Returns: ">526Hog****)H{****+&RF+xr:I`Nuq)`^(cF{p*****)sY|e>"

  76. "heckgosdanufybrHECKGOSDANUFYBR\"_BP4LbwphdPz{?E\\vU\""

    "}W!V7P&o+}Na@sYTl&nm%q{lubJ;gP(]Ok>4h4

    "Lx@d)#Q3auh& }aa& h u!k&dP=@l-& } uc k&!;$\\YN"

    Returns: "Lx@d)#Q3auh& }aa*********dP=@l-**********!;$\\YN"

  77. "heckgosdanufybrHECKGOSDANUFYBRB{}+)Q-A4

    "|f45XGH\'LNn\\q7ZT{Kj\\G@UM*TSP^AJd7&d(oHFg5;,V|\"s9nc"

    "1Fk(go s|&4g GH|[[bXG s|c:Z~\'L nX/Q4+umthhp?Ya%v"

    Returns: "1Fk(******&4*****[[b*****c:Z~******/Q4+umthhp?Ya%v"

  78. "heckgosdanufybrHECKGOSDANUFYBRrP-V3J#@xJ5~,\']zLsz`"

    "9=iJq?)@GfHc`dH2Zu|+vH(!i\\igAzI0nub*qgA?zDO~H2qd-V"

    "hZDL66g?d9??=y acuR(2DVQf2~f*4Z]@a?h~lVyKiq9e ck["

    Returns: "hZDL66****??=y acuR(2DVQf2~f*4Z]@a?h~lVyKiq******["

  79. "heckgosdanufybrHECKGOSDANUFYBR/0+K~H;h91\'.#aHh#Wac"

    "(l$n^>e}>/E/i5PF-$szFy!&/<\"^vKvB312W$H;T/S6R.ieW|T"

    "pdR /^ fu|K.:0S?8I5vrP5YhWgoeiqT2d | ng?N|#H.~@mu"

    Returns: "p****** fu|K.:0S?8I5vrP5YhW****qT2******?N|#H.~@mu"

  80. "heckgosdanufybrHECKGOSDANUFYBRYm:EM#7a+3D&7

    "gh@E?4Y]\\naI`S\\r?7o2U

    "?4YhzYyXYk.tOn[ |/sg ackYn\\Iug4sh:K*GZ0I44 e`e%{S1"

    Returns: "****zYyXYk.tOn[ |/***************:K*GZ0******e%{S1"

  81. "heckgosdanufybrHECKGOSDANUFYBR<>g1LQ3!N[2rY{P})$i:"

    "[tV$6MJ^xd*\\-tV*0x\\I/,d%ZBk%#A{4Hcwg].XL]U/!\\t,zZ9"

    "N

    Returns: "N<****\"B6O3Gkvx=}y&4****Qu@s]V*****u VkJ(D$z=3GH"

  82. "heckgosdanufybrHECKGOSDANUFYBRYy<<|dkv:;PbAPY`>))d"

    "S\\ujhvSM\"3g_aa;V-\"g$S,yJ4xy(0M^P\",KUY&67ye&.pHI9L\""

    "oMdang~({K*v19:00[Gmt6jN{Wq93$hS3\" fu_u b \"roeahE9"

    Returns: "oM****~({K*v19:00[Gmt6jN{Wq93$h*************oeahE9"

  83. "heckgosdanufybrHECKGOSDANUFYBRe}G55]:we9;[Gf76x}aY"

    "+;&Y\'hYYjC%b\'3QF1PHV:v6]WeT4Wa}v0^,H5zbFNugSIH]gD%"

    "?2X<];d.^h b %bjr}#05eJ5dpfV)jzY njs+%YC D Sulm"

    Returns: "?2X<];d.^h *******}#05eJ5dpfV)jzY njs+%*******lm"

  84. "heckgosdanufybrHECKGOSDANUFYBRYjnza*A=7?8k+n\\hYx|!"

    "JCH\"9,NC!1t&l3F!f3|l4*hwv^4xT@{I@80?v`2@Te5^QV.6Fu"

    "$Q@`zAd!JsJuH\"s<<#8$c40hC hC c\";$bSbl&ju5oP;RYeGcG"

    Returns: "$Q@`zAd!J******<<#8$c40hC *****;$bSbl&ju5oP;RYeGcG"

  85. "heckgosdanufybrHECKGOSDANUFYBRBL]Y71y%uErNul,:)V+%"

    "R\"Drqj-\"}8a=TuL3\'GPsa:\\DkABEH_C{7kLU\\r5j1\'n1sV/K)d"

    "k B#e?V<}\"7ihS]h-8 } =5.h\"ck*KsR uDks]K~qw-/q oshy"

    Returns: "k B#e?V<}\"7ihS]h*******.*****K*******]K~qw-/*****y"

  86. "heckgosdanufybrHECKGOSDANUFYBRW_~z)Sm0TC6Z&\\y;<6r\""

    "C`r~&ppzA@|STu+;}c^Y/$mo;S(v4.G}0(\"^9^^!|fzx6I\'WN\\"

    "gpph@M_ |Q=Fvlz`9RAQz A ng Af|?:D#ZHC}sh | rksJ"

    Returns: "****@M_ |Q=Fvlz`9RAQ******** Af|?:D#ZHC}*********J"

  87. "heckgosdanufybrHECKGOSDANUFYBRyllJic~EL$5?X=\\O%o@R"

    "yNUPhp8jq?+e6R:][3)qa:

    "\'8y +RP8:Byye UP! jsy+R P8!H|q%!5tySMx0ja?hfSKiExH"

    Returns: "'*******:By*****! j*******!H|q%!5tySMx0****fSKiExH"

  88. "heckgosdanufybrHECKGOSDANUFYBR[\'bKG}d@%_`a:OW&9d!;"

    "#144E=\\xKW5ON.@SapWSh@[OxN$\"#N%{\\=tG.U[vN6!78roB3="

    "Zy(gWSRux%1`DBm#g =s#EL|\'ajTSXtFnufRE*Eg= s\\W 6f5s"

    Returns: "Zy(gWSRux%1`DBm#*****EL|'ajTSXtFnufRE*Eg= s******s"

  89. "heckgosdanufybrHECKGOSDANUFYBRrRZ_oIMjJHC:C^B}P_H~"

    "4#<*esyO\\2=S&\"cI2!:v)Vz<9Xdb;cnZJ\"}:WWx^Gp{0W;2JWB"

    "Hb7}|YudaneQlHUL+A#1Syj8$kkA,y24 e

    Returns: "Hb7}|Yu****QlHUL+A#1Syj8$kkA,y2********Su?&xH[;J;l"

  90. "heckgosdanufybrHECKGOSDANUFYBRl133/19-Qx|X[DF#ffwV"

    "1D8^|n5P][\\myv5V>]eIO}O47G#QHX^t&}AnWwF2tS$q_WE-?}"

    "Ci6 oW[L9ds[sh\\ 8 ^5*x\"5 hu8k5 ]r8l{/TO;YdmCJg"

    Returns: "Ci6 oW[L9ds[*********x\"******** ]r8l{/TO;YdmCJg"

  91. "heckgosdanufybrHECKGOSDANUFYBRp+yL{fVjv_Nh&-c_|^M%"

    "oX}1z40:*<7mV=>k~jrGU79_b!0*_4

    "1f8sdangfo 4Xyw|orux$;8-danz.+3 o4e::>ac`KNS LCYac"

    Returns: "1f8s**********w|orux$;8-****.+******:>ac`KNS LCYac"

  92. "heckgosdanufybrHECKGOSDANUFYBR6G114`t_FGJ|Ea[o\\m

    "W|_Q)#(VHQ3KijJMF+1EgirE{I()@}/-c_?bFee1XO`f*NG[ih"

    "\"14$,K 3j HrKN#|y[}L9?ws naf3N sWBGP zdng oshc$5"

    Returns: "\"14$,**************[}L9?w******N sWBGP zdn*****c$5"

  93. "heckgosdanufybrHECKGOSDANUFYBR>F-d,?i|6qMDyLrQ0M[>"

    "3_1u4Q**I|:;](?kX?d&Gj=VE4xUEZFy@rz3{h@%f8jZ5|x!.Y"

    "D[fubI?=ad*h:1 ksyKi_xyEM+dgQ shI_J*~H>s|af:`+:Cy"

    Returns: "D[*****=ad********yKi_xyEM+d*****I_J*~H>*****`+:Cy"

  94. "heckgosdanufybrHECKGOSDANUFYBRuIixFxsS%:)Od@6ANv&@"

    "^h&$jm@;|Vs|3Xkk9BkGmas\'CrE;aXOdDbeX;C_hLuzxd_ZkEC"

    "KWa}ph h@na|sARtBN6d |sV afO?Wju\'tX_c@na|s(W9C"

    Returns: "KWa}ph h*****ARtBN6d |******?Wju'tX_c*****(W9C"

  95. "heckgosdanufybrHECKGOSDANUFYBRuir[|cU:ME*:h(AGGjGq"

    "B2o7]oi8wyh0yOy

    "_Kd w ygB ucksh mc78an]yw0u9\'N1ux6$dxD,[6bo4]|dU^"

    Returns: "_K*******B ucksh mc7****yw0u9'N1ux6$dxD,[6bo4]|dU^"

  96. "heckgosdanufybrHECKGOSDANUFYBRfDkJ>j-S3Dx18fzqc.R:"

    "d}z`Y:Ng>FQD!,IEQ((]S^\\W_xP5mK`9~_FpRpnh[LR@-p|$ne"

    "he zk#\'FI.~d DQ da nY|,\\0f:\"9osd uc~svk/?5/Hvg;,2"

    Returns: "*****#'FI.~d DQ *****|,\\0f:\"9o*******vk/?5/Hvg;,2"

  97. "heckgosdanufybrHECKGOSDANUFYBRLqyVaN*6&iw@Z!_ZyoQT"

    "q$2b*M[\'A=u

    "W!P/wFqhec[q ucb[?DV\"#zhecbJq$ckqaA8{*u>1_,JM#+]v="

    Returns: "W!P/wFqhec*******?DV\"#z****J****qaA8{*u>1_,JM#+]v="

  98. "heckgosdanufybrHECKGOSDANUFYBR\\!pMVMg\'cUE}4Q14^oY~"

    "$;R/kV&cIkd;r,o>=(@afDr/q5wUGK~0k$x?:C1R0eo5mv`c3\\"

    "@1~e[I=Bi

    Returns: "@1~e[I=Bi


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: