50
\$\begingroup\$

We all know the classic dad joke that goes something like this:

  1. Somebody says a sentence to describe their self (e.g. I'm tired or I'm confused).

  2. A dad-joke enthusiast comes along and replies Hi <adjective>, I'm Dad!, because introductions follow the same format (I'm Peter follows the same format as I'm hungry).

Your job is to take in an input in the form of a self-descriptor, and output the appropriate dad-joke form, but instead of using the word "Dad", you'll use the name of the programming language you're programming in.

Test cases (assume that they are being parsed by Python):

I'm amazing                  Hi amazing, I'm Python!
I'm tired                    Hi tired, I'm Python!
I'm hungry                   Hi hungry, I'm Python!
I'm fat                      Hi fat, I'm Python!

Now assume that these test cases are being parsed by Golfscript:

I'm a programmer             Hi a programmer, I'm Golfscript!
I'm a question-writer        Hi a question-writer, I'm Golfscript!
I'm a Stack-Overflow-er      Hi a Stack-Overflow-er, I'm Golfscript!

The exact challenge:

  1. Take in a string in the self-descriptor format (I'm <adjective> or I'm a(n) <noun>) using standard input or through a function.

    • Assume there is no ending punctuation.

    • Assume the word I'm is used and not I am.

  2. Convert it to a dad-joke format - see the above examples for exactly how that should look.

Other stuff:


Leaderboard

You can view the leaderboard for this post by expanding the widget/snippet below. In order for your post to be included in the rankings, you need a header (# header text) with the following info:

  • The name of the language (end it with a comma , or dash -), followed by...

  • The byte count, as the last number to appear in your header.

For example, JavaScript (ES6), 72 bytes is valid, but Fortran, 143 bytes (8-bit) is invalid because the byte count is not the last number in the header (your answer will be recognized as 8 bytes - don't take advantage of this).

<iframe src="https://ozewski.github.io/ppcg-leaderboard/?id=185872" width="100%" height="100%" style="border: none;">Oops, your browser is too old to view this content! Please upgrade to a newer version of your browser that supports HTML5.</iframe><style>html,body{margin:0;padding:0;height:100%;overflow:hidden}</style>

\$\endgroup\$
  • 42
    \$\begingroup\$ One of the ways I considered telling my family that my wife was expecting was by telling as many dad jokes as possible and seeing who caught on! \$\endgroup\$ – Giuseppe May 21 '19 at 0:54
  • 7
    \$\begingroup\$ Some example outputs end with exclamation and some do not. What is the significance? \$\endgroup\$ – recursive May 21 '19 at 1:56
  • 9
    \$\begingroup\$ Usual practice is to give it much longer before accepting an answer, if you do so at all: codegolf.meta.stackexchange.com/q/2035/66252 \$\endgroup\$ – user2390246 May 21 '19 at 10:58
  • 7
    \$\begingroup\$ And the tie-breaker isn't votes, it's who reached the lowest score first. \$\endgroup\$ – Shaggy May 21 '19 at 12:08
  • 5
    \$\begingroup\$ Now waiting for the next golfing language that's name is an empty string. \$\endgroup\$ – 640KB May 21 '19 at 18:24

77 Answers 77

1 2 3
1
\$\begingroup\$

Pyth, 21 bytes

++"Hi">z3", I'm Pyth!

Try it here

\$\endgroup\$
1
\$\begingroup\$

Malbolge, 24477 bytes

Mors sum, Dominus Pestifer Mundi

Hi, Dominus Pestifer Mundi, I'm dad!

bP&A@?>=<;:9876543210/.-,+*)('&%$T"!~}|;]yxwvutslUSRQ.yx+i)J9edFb4`_^]\yxwRQ)(TSRQ]m!G0KJIyxFvDa%_@?"=<5:98765.-2+*/.-,+*)('&%$#"!~}|utyrqvutsrqjonmPkjihgfedc\DDYAA\>>Y;;V886L5322G//D,,G))>&&A##!7~5:{y7xvuu,10/.-,+*)('&%$#"yb}|{zyxwvutmVqSohmOOjihafeHcEa`YAA\[ZYRW:U7SLKP3NMLK-I,GFED&%%@?>=6;|9y70/4u210/o-n+k)"!gg$#"!x}`{zyxZvYtsrqSoRmlkjLhKfedcEaD_^]\>Z=XWVU7S6QPON0LKDI,GFEDCBA#?"=};438y6543s1r/o-&%*k('&%e#d!~}|^z]xwvuWsVqponPlOjihgIeHcba`B^A\[ZY;W:UTSR4PI2MLKJ,,AFE(&B;:?"~<}{zz165v3s+*/pn,mk)jh&ge#db~a_{^\xwvoXsrqpRnmfkjMKg`_GG\aDB^A?[><X;9U86R53ONM0KJC,+FEDC&A@?!!6||3876w4-tr*/.-&+*)('&%$e"!~}|utyxwvutWlkponmlOjchg`edGba`_XW\?ZYRQVOT7RQPINML/JIHAFEDC&A@?>!<;{98yw5.-ss*/pn,+lj(!~ff{"ca}`^z][wZXtWUqTRnQOkNLhgfIdcFaZ_^A\[Z<XW:U8SRQPOHML/JIHG*ED=%%:?>=~;:{876w43210/(-,+*)('h%$d"ca}|_z\rqYYnsVTpoRPledLLafIGcbE`BXW??TY<:V97S64P31M0.J-+G*(DCB%@?"=<;|98765.3210p.-n+$)i'h%${"!~}|{zyxwvuXVlkpSQmlOjLbafIGcbE`BXW??TY<:V97S64P31M0.J-+G*(D'%A@?"=<}:98y6543,1r/.o,+*)j'&%eez!~a|^tsx[YutWUqjinQOkjMhJ`_dGEaDB^A?[><X;9U86R53O20LKJ-HG*ED'BA@?>7~;:{y7x5.3210q.-n+*)jh&%$#"c~}`{z]rwvutWrkpohmPkjihafI^cba`_^A\[>YXW:UTS5QP3NM0KJ-HGF?D'BA:?>=~;:z8765v32s0/.-nl$#(ig%fd"ca}|_]yrqvYWsVTpSQmPNjMKgJHdGEa`_B]\?ZY<WVUTMR5PO20LK.IHA))>CB%#?87}}49zx6wu3tr0qo-nl*ki'hf$ec!~}`{^yxwvotsrUponQlkMihKIe^]EEZ_B@\?=Y<:V97S64P31M0.J-+GFE(C&A@?8=<;:{876w43s10qo-&%kk"'hf$ec!b`|_]y\ZvYWsVTpSQmlkNiLgf_dcba`C^]\?ZY;WV97SLK33HM0.J-+G*(D'%A$">!};|z8yw543t1r/(-,+*)(i&%fd"!~}|_t]xwvutslqTonmPNdchKIeHFbaD_AWV[><X;9U86R53ON1L.DCH+)EDC&;@#>=<;|98x6wu32s0p(',mk)(i&f|{"ca}`^z][wZXtWUqTRnmPNjcbJJ_dcbEDYB@@?ZSX;VUTS6QPO11F..CHGF)(C<A$?>=<}:98xx/uu,10/po,+$kiih%$#z!b}|{z]xwvXXmUUjonmPOjihafIdcbaD_^]??T<<QVUT76QPONG0..-HGFED=B%@?>=~|438yw5vt21r/o'&+lj(ig%fd"ca}`^z][wZXtWUqpoRQlkjihafIdcbaD_^]??T<<QVUT76QPONMLE.,,+FEDCBA@9>!<;:9zx0/uu,10/po,+*)('&}$e"!~}`{zy[[pXXmrqpSRmlkjihgf_Hcba`_AW\[ZY;Q:OTSRKPIN1//.CH+FEDC&A@?>=~|:327xv43tr0)(-nl*ki'hf$ec!b`|_]y\ZvYWsVTponQPejMhgfeHcbaCCX@@UZYX;:UN7554ONGL/JIHG*ED&BA$?!76;|zyy054us1*).om+lj(ig%fd"ca}`^z][wZXWWlqpoRQlkdiLgfedGba`BBW??TYXW:9TSRK4221LKJIBG*EDCB%@?>~~5{{2765vu210/(-n+*)(i&%$ddyaav{zy\[vutsrkTRRQlkjihg`eHcba`C^]\>>S;;PUTS65PONMLKDI,GFED'%;:?"~<}{9zx6wu3tr0qo-nl*ki'hfeez!~}`_zyxwvutmVTTSnmlkjihg`eHcba`C^]?>>SXW:8TMLQPO21LKJIHGFE>C&A@?>=}5:987w/v-210).',m*)('h%$#ccx``uzyx[ZoXVVUpinQlkjiLgfeGG\DDY^]\?>YRW:UTSR5PON00E--BGFE('BA:#!!~;:927x5432s0/.nn%kk"'&%fe"!~w|_zyxwZutsUUjRRglkjMLgfed]FDDC^]\[ZSX;VUTS6QPO11FKJ-H*@?D'%A$">!}||387xv4-,1rp.om+lj(ig%fd"ca}`^zyx[ZutsrqjoRmlkjMhgfHH]EEZ_^]@?ZYXWVUN7554ONMLKJIBG*EDCB%@?>~~5{{2765vu210/.-,%*k('&%f#"b~a_{^\x[YutWUqjinQOkNLhKIeHFbEC_B@\?=<<QVUT76QPONMLKJC,GFEDC%;@?>=}5|381654-2sqqp',m*)('h%$#ccx``uzyx[ZotWrqpoRmlkMMbJJ_dcbED_XA??>YXQV9TSRQ4ON0L/-IH+F(>=B%#?>!<|438yw5vt2sq/pn,mk)jh&%fd"yx``uzyx[ZutmrUponmPkjiKK`HH]ba`CB]\[T=;;:UTSRKP3NMLK.IHG))>&&;@?>!~;:9816w4321r/.-mm$jj!&%$ed!~}|{t][[ZutsrqpinQlkjiLgfeGG\DDY^]\?>YXWVUTMR5PONM0KJI++@((=BA@#"=<;:9870wuut10/.-,+*#(i&%$#d!~}__t\\qvutWVqponmlkjchKfedcbDZ_^]\>T=RWVUNSLQ4ONML/-CBG*(D'%A$">=~|:327xv43tr0)(-nl*ki'hf$ec!b`|_]\\qvutWVkTRRQlejMhgfeHcbD`_B]?UTY<:99NSR5P2HGL/-IH+F(>=B%#""7<;|9y105vt2sq/pn,mk)jh&%$ed!x}`{z]xwYuXVrUSoRPlkNLha`eHFbEC_B@??TYX;V8NMR53ON1L.DCH+)ED'B$:9>!};|z876wv32+r/.-n+*j(ig%$ec!xw|_]yx[YunmrUSonQOkdchKIeHFbEC_B@\?=Y<:99NSRQ43NMLKD-++*EDCBA:?"=<;|z21ww.321rq.-,+*#(i&%$e"!~``uzy\ZvonsrqTSnmlkjibKIIHcba`_^]V[>YXW:UTS55JON1L.DCH+)E(&BA$?!76;|z8ywvv-21r/o'&+lj(ig%fd"ca}`^z][ZZotsrUTonmlkjibgJedcFa`_^]@>ZSRW:877LQP31MFEJ-+GF)'C<;@#!=~|:{y76wu3,+0qo-nl*ki'hf$ecbbw|{z]\wvutsrqpiRmlkjiKafedcE[DY^]\UZSX;998MR5PON1LK-,,AFE(C%;:?"~<;|9y105vt2sq/pn,+l)i!~%fd"ca}`^z][wZXtsrUTinQlkNihgII^FF[`_^A@[T=XWV9TSR44INM0K-CBG*(D'%$$9>=~|:327xv4usrr).-nl*#"'hf$ec!b`|_]y\ZvYWsrqTSnmleNLLKfedc\aD_^]@[ZYXW:8TMLQ42NM0K-CBG*(DC&A#98=~|:9z7w/.3tr0/p-m%$)jh&ge#db~a_{^\x[YXXmrqpSRmlkjchKfedGbaC_^A\>TSX;9UT75QJIN1/KJ-+G@?D'%A@#!=65:{y7xv4us1rp.om+lj('&gf#"!~}v_]]\wvutsrkpSnmlOjihJJ_dcFaCYX]@>Z=;WV9T6LKP31M0.--BGF)D&<;@#!=~|:{y7xv4us1rpoo&+*)ji&%$#"!x}`{zy\ZpotWUTTinmPNjcbgJHdGEaDB^A?>>SXW:8TMLQ42N1/K.,H+)E(&%%:?>=~}:987654-trrq.-,+*)('~%f#"!b}|{]]rwvYWslkpSQPPejiLgI_^cFD`CA]@>Z=;::OTS6Q3IHM0.J-+G*(D'%A$">=<}|98765432+0q.-,+*j"'&%$dzcx}|uzyrwZutsrUponPPeMMbgfeHGbaZCAA@[ZYRW:UTSR5PONML/-IBAF)'C&$##8=<}{9216wu3tr0qo-nl*ki'hf$ec!b`__tyxwZYtsrkpSnmlkNihgII^cbE`BXW\?=Y<:VU8S5KJO20L/-I,*F)'C&$@#!=~|:9z7w/.321rq.-,+$kiih%$#"!x}`{zyx[vuWsVTSShmlOMibafIGFF[`_B@\UTY<:VU8S5KJO20L/-I,*F)'C&$@#!~~5:98yx54321*/p-,+*k('&ff{ccx}|{^]xwvutsrqjSnmlkjLbgfedF\EZ_^]V[TY<::9NS6QPON1LK-I,*FE(C%;:?"~}}498y6v.-2sq/pn,mk)jh&ge#db~a_^^sxwvYXmrUponmPkjLhKIHH]baDB^WV[><X;9U86R53O20L/-I,*FED'&A:#!!~;:38y65vt,+qq(-,+lk('~%f#"cawv{^\x[YuXVrUSoRPOOdihKfH^]bEC_B@\?=<<QVU86RKJO20LKJ-,GFE>'%%$?>=<5:{87x54t21r/o'&+lj('h%e{z!b`|{^\xqpuXVrUSoRPlOMiLJfIGcFDCCX]\[>=XWVUNS6443NMLKJC,GFE(CB$@#!=~|{{276w4t,+0qo-nl*)j'g}|#db~a_{^\xwZuWmlqpoRQlkjihaJHHGba`_^]V[>YXW:UTSRQ42NGFK.,HG*E'=<A$">!};:{y70/4us10qo-&%*ki'hf$ec!b`|_]y\ZvutWVqponmlejMhgJedcEEZ_^A\>TSX;9UT7R4JIN1/KJ-H*@?D'%$$9>=~;{327xv4us1rp.om+lj(ig%fd"!~a`{zyxwvunWUUTonmlkjihafIdcbE`_A]\?=YRQV9766KPO2M/EDI,*F)'C&$@#!=~|:{y7xv4usrr).-,ml)('&%$#"y~a|{zyxZputsrTjShmlkdibgJedcbE`_^@@U==RWVU87L5332MFK.IHGF)DC%A$">=~;{327xv4us10q.n&%*ki'hf$ec!b`|_]y\ZvutWVqjoRmlkjMhgIHH]baDB^WV[><;;PUT75QJIN1/K.,H+)E(&B%#?"~<}{987xw43,sqqp-,+$)j'&%f#"!aav{z]xZpotWUqTRnmPkMcbgJHdGEaDB^A?[><X;9U86R5322GLKJ-,GFE>C&A@#>=<;:{y70/4us10qo-&%*ki'hf$ec!~a|^tsx[YuXVUUjonQOkdchgfIHcba`YB]\[>YX:99NSR5P2HGL/-IH+)E>=B%#?"~<}{9zx6wu3tr0qo-nlkk"'&%fe"!~}|{t][[ZutsrqpohmPkjiLgfHdGEa`C^@VUZ=;WV9T6LKP31ML/J,BAF)'C&$@#!=~|:{y7xvuu,10/po,+*)('&}$e"!~a|{zyx[YunmrUSoRPlkNLha`eHFbaDB^WV[><XW:8TMLQ42N1/K.,H+)E(&B%#?>=~}:9876543,s0/.-,l$)('&f|ez!~w|{ty\ZZYnsVqpoRmlkMMbgfIdF\[`CA]@>ZY<W9ONS64P3100EJI,G)?>C&$@#!=~|:{y7xv4usrr).-,ml#(i&%$e"!a}`^z][wZXtWUqpSQmfejMKgJHdGEaDB^A?>>SXWV98SL5332MLEJ-HGF)DCBA@#!=65:{y7xv4us1rp.om+*k(h~}$ec!b`|_]y\ZvYWsrqTSnmfkNLLKfed]Fa`_B]\>ZY<:VONS64P31M0.J-+G*(D'%A$">!};|zyy0543ts0/.'nllk('&%|#d!~}`{zy[[putWrTjinQONNchgJeG]\aDBAAV[Z=;WPOT75Q42N1/KJ-H*@?D'%A$">!};:{8x0/432sr/.-,%*kiih%$#"!xa|{z]xwvutWUqjinQOkNLKK`edGEaZY^A?[Z=X:POT7544INM0K-CBG*(DC&A#98=~|:{y7xv4usrr).-,ml)('&%|eccb}|{zyxqvYtsrUpoQmPNMMbgfIGc\[`CA@@UZY<W9ONS64P31M0.--BGF)'C<;@#!=~|:{y7xv4us10/po,+*)('~%fddc~}|{zyxqZutsVqpRnmPkMcbgJHdGEa`C^@VUZ=;WV9T6LKP31M0.J-+G*(D'%A$"!!6;:9zy6543210)pnnm*)('&%$#z!b}|{^yxZvuXsUkjoRPlkNiKa`eHFbECBBW\[><XQPU86RQ4O1GFK.,H+)E(&B%#""7<;:{z76543210).o,+*)(h~%$#"bxav{zyrwpuXsrqTonPlkNiKa`eHFbEC_B@\?=Y<:V97S64P31M0.--BGFE('<%##"=6;|987x54t2sq/pn,mk)(ig%|{"ca}|_z\rqvYWsVTSShmlOMibafIGcFD`CA]@>Z=;WVU87RKP3NML/JI+GF)D&<;@#!=~|:9z7w/.3tr0qo-nl*ki'hf$ec!b`|{z]\wvoXVVUponglOjiLgfHdcFaCYX]@>Z=;WV9T6LKP31M0.J-+G*(D'%A$">!};:9zy654-2s0/p-,+kk"'&g$dzy~}|_^yxwvoXVVUponmlejMhgfIG]\aDB^A?[><XW:U7MLQ42N1/..CHG*E'=<A$">!};|z8yw5vt210qp-,+*)"'h%$#d!~`|{^\xqpuXVrUSoRPlkNLha`eHFbaDB^WV[><XW:U7MLQ42N1/K.,H+)E(&BA@#"=<;:981xvvu210/.-,%*k('h%$d"!b}_uty\ZvYWsrUpRhglOMLLafeHcE[Z_B@??TYX;V8NMR53O20LK.I+A@E(&B%#?>!<|43876wv3210/.-&+l)('hf|{ccx}|{^]xwvutsrqjSnmlkjLbgfedF\EZ_^]V[TY<::9NS6QP3NMLKJ-+G@?D'%A$">=~;{327xvuu,10qo-&%*ki'hf$ec!~a|^tsx[YXXmrqTRngfkNLKK`edGEaZY^]\?>SX;998SRKP3NM0.DC++@EDC&%@?8=~;:9z765uu,10qo-&%*)(ih%$#zcaa`{zyxqvYtsVTjinQOkjMhJ`_dGEa`C^@VUZ=;W:8T75Q42N1/KJ-H*@?D'%A$"!!6;:{8x0/4us10/po,+*)"'h%$#dbxw__tyxwZYtsrqpiRPPOjihgfe^cFa`C^]\[Z=;WPOT75QP3N0FEJ-+**?DC&$@98=~|:{y7xv4us1rp.-n+k#"'hf$ecbbw|{^\xqpuXVUUjonmPOjihgfe^cFDDC^]\[ZYXWPU8SR53IH00EJIH+*EDCBA@?>7<}:9876v.3210p(o&+$)('~%f#"c~}|^^sxwZXtmlqTRnQONNchgJeG]\aDB^]@[=SRW:877LQP31MFEJ-+G*(D'%A$">!};|zyy0543ts*q.-nl$#ii~%$#dc~}v_]]\wvunsVqpSnmlNNchgJHd]\a`_BA\[ZSX;998SRQPOHM0KJ-+A@((=BA@#"=<;:927x54u210pp',+lj(!~%$#dc~}|{zyr[vuXVlkSShmlkNMhgfedcbaZC^]\[Z<RWVUT6L5JONMFKDI,**)>C&A@#!76;|z8yw54u2r*).om+lj(ig%fd"ca}`^z][wZXtsrUTinQOONibKfedGE[Z_B@\?=Y<:99NSR5P2HGL/-IH+F(>=B%#?>!<|438yw5vt2sq/pnmm$)('hg${dbba|{ty\wvYtsrqpSQmfeMMbgfeHGbaZ_B]\[>YX:VU86RKJO20L/-I,*FE(&B;:?"~<;|z8105vt21r/o'&+lj(ig%fd"ca}`^zyx[ZutslUSSRmlkjchKfedGE[ZBBW\[Z=<WVUTSL5332MLKJIHAF)DCB%@?!=~|:{y7xv4us10qo-&%*ki'&g$dzy~a_{^\x[YuXVrUSonmPOjihgfe^cFa`C^]\>>SXW:U7MLQPO21LKJIHGF?(&&%@?>=<;:927x543tr*).om+lj(ig%$e"bxw|_]y\ZvYWsVTpSQmPNjMKgfeHGba`_^]\[TY<WVUTS5KPONM/E.CHGF?D=B%@?"=<;:9zx6/.3tr0/pn,%$)jh&ge#db~}`{]srwZXtWUqpoRQfOMMLg`eHcbECYX]@>Z=;W:8T75Q4211FKJ-H*@?D'%A$">!}||387xv4-,1rp.-,ml)"'h%$e"!a}|_z\rqvYWsrUpRhglOMihKIe^]bEC_B@\?=Y<:V97S64P3100EJIH+*ED=&$$#>=<5:{876wu-,1rp.-n+k#"'hf$ec!~a_{tsx[YuXVrUSoRPlOMiLJfIGFF[`_^A@[ZYRW:UTS6QPONM0.JCBG*(DC&A#98=~|:{y7xv4us1rp.om+lj(ig%fd"!~a`{zyxqZXXWrqponglOjiLgfeGG\a`C^@VUZ=;WV9T6LKP31ML/J,BAF)'&&;@?"=}549zx6wu3tr0qo-nl*ki'hf$#"cb}|{zyrwZutsVqpRnQOkjMhJ`_dGEa`C^@VUZ=;W:8T75Q42N1/K.,H+)EDC&%@?>=<;4{yyx543210/(-n+*k('&%$ec!xw|_]yx[YunmrUSoRPlOMihKfH^]bEC_B@\[Z=<WVUTSRQJO2ML/-CBG*(D'%A$">!};|zyy054u2r*).om+lj(igff{"!b`|uty\ZvutWVqponmlkjcLgfedcE[`_^]?U>SXWPUTMR5332GL/JI,GF(DC&A#98=~|:9z7w/.3tr0/pn,%$)jh&ge#db~a_{^\x[YuXVUUjonmPOdiLJJId]Fa`_B]\>ZY<:VONS64P31M0.--BGF)D&<;@#!=~|:{y7xv4us1rpoo&+*)ji&}fddc~}v{^yxwZutVUUjonQlNdchKIHH]baDB^WV[><XW:8TMLQ42NM0.JCBG*(D'%A$">!};|z8yw543ts0/(-n+*k('&ff{"!b}_uty\ZvuXsUkjoRPlkNiKa`eHFEEZ_^A\>TSX;9U86R53O20L/-I,*F)'CBA$#>=<5|zzy6543,1r/.-n+*)ii~%$e"bxw|_]yx[vXnmrUSRRglkNiKa`eHFbECBBW\[>Y;QPU86R53O20L/-I,*F)'&&;@?>!~;:9816w43t10/.-nl*#"'hf$#db~wv{^\x[YuXVrqToQgfkNLhKIedcFE`_^]\U><<;VUTSRQJO2ML/-CBG*(D'%A$">!};|zyy054u2r*).om+lj(igff{"!b`|uty\ZvutWVqponmlejMhgJedFbaD_AWV[><XW:U7MLQ42NM0.JCBG*(D'%A$">!};|z8yw5vtss*/.-nm*)('&%${dbba|{zyxwvunsVqpoRPfejMKgfIdF\[`CA]\?Z<RQV97S64P31M0.J-+G*(D'%A$"!!6;:9zy6543210/(-n+*)('g}$#"!aw`uzyxqvotWrqTonPlkNiKa`eHFbEC_^A\>TSX;9U86R53O20L/-I,*F)'CBA$#8!<;|z21ww.321rq.-&mkkj'&%|#d!~}`{zy[[putWUqjinQOkNLhgJeG]\aDB^A?[><X;9U86R53O20L/-,,AFED'&A@?8=~;:{y105vt2sq/.o,l$#(ig%fd"ca}`^z][wZXtWUqTRnmlONihgf_HFFE`_^]\UZ=XWV97MLQ42N1/KJ-+G@?D'%$$9>=~;{327xvuu,10qo-&%*ki'hf$ec!b`|_]y\ZvutWVqponmfkNihgfIdcbDDYAAV[ZY<;VUTSRQPOH1LKJIH*@EDCB$:#8=<;4927xvvu,1r/.-,m*)i'hf$ec!~a|^tsx[YuXVrqToQgfkNLhKIeHFbEC_B@\?=Y<:VUT76KP3NMLK.IH*FE(C%;:?"~<}{98yw5.-2sq/pn,mk)jh&ge#db~a_{zy\[voXsrqpSnmlNNcKK`edcFE`_^W@>>=XWVUNS6QPON1/EDI,*F)'&&;@?"=}549zxww.32s0p(',mk)jh&ge#db~a_{^\x[YXXmrqpSRmlkjchKfedcFa`B^A?>>SXW:8TMLQ42N1/K.,H+)E(&B%#?"~<;:{z76543,sqqp-,+*)(!&g$#d!~}|{^\xqpuXVrqTRngfkNLhKIeHFbaD_AWV[><X;988MRQ42NGFKJI,+FEDCBA:?"~~}:9876543,1r/.-n+*j(igff{"!b}_uty\ZvYWsrUpRhglOMiLJfeHcE[Z_B@\?=Y<:V97S64PON10KJIHGFED=B%@?>=<|49876v.u,10).-&+l)('h%$d"ca}|_]yrqvYWsrUpRhglOMihKIe^]bEC_B@\?=Y<:V97S6433HMLK.-B+))(C<A$?>=~;:987xv4-,1rp.omll#('h%e{z!b`|_]yx[vXnmrUSonQlNdchKIeHFbEC_B@??TYXW:9TMR5PO2ML.JI,*F?>C&$@#!=~|:{y7xv4us1rp.om+ljii~%$#dc~}v_]]\wvunsVqponQlkMiLJfeHcE[Z_B@\?=YX;9UNMR53O20L/-I,*F)'C&$@?>!~;:927xvvu210/.',m*)('h%$d"ca``uzy\ZvonsVTSShmlOjLbafIGcFD`CA]@>Z=;W:8T75QPO21LKJIHAF)''&A@?>=<;49z76w432rr).-n+k#"'hf$#d!awv{^\x[YutWrTjinQONNchgJeG]\aDBAAV[Z=X:POT75Q42NM0K-CBG*(''<A@?"!<;:9876/4u210/.n&+*)(h~g|#"!x}v{^yxwvYtsUqTRnQOkjMKg`_dGEaDB^A?[><X;9U86R5322GLKJ-,AF)DC&A@">!};|z8ywvv-21rp.'&+lj('hf${z!b`|_]y\ZvYWsVTSShmlkNMhg`eHFFE`_^]V[>YXWV9TS5Q42N1/..CHG*E'=<A$">!};|z8yw5vt2sq/pn,+*kj'&%${"caa`{zyxwvotWrqTonPlOMiLJfIGcFD`_B]?UTY<:VU8S5KJO20L/-I,*F)'C&$##8=<}:z216wu321rq.-,+*)"'hffe"!~}|{zyrwZutWrqponQOkdchKIeHFbEC_^A\>TSX;988MRQ42NGFK.,H+)E(&B%#?"~<;:{z76543210).o,+*)(h~%$#"bxav{zyrwpuXsrUponmlOMibafIGcFD`CA]\?Z<RQV97S6433HML/J,BAF)'CBA$#>7<}{{z765.3t10q.-m+lj('h%e{z!b`|{^y[qpuXVrUSRRglkNiKa`eHFEEZ_^A?[TSX;9U86R53O20L/-IHG*)DCB;@#>=~;:z8yw5vt2sq/pn,mk)(ig%|{"ca}`^z][wZXtWUTTinmlONihgfe^cFa`C^]?[><;;PUT7R4JIN1/K.,H+)E(&B%#?"~<}{9zx654ut10/.-,+$)j'&%$#cy~}|{]s\qputsrkpSQQPejMhgJedcEEZ_^A?[TSX;988MRQ42NGFK.,HG*E'=<A$">!};|z87x5u-,1rp.om+lj(ig%$#dcx}`^^]xwpuXsrUpoQmlOjLbafIGcbE`BXW\?=Y<:V97S64P31M0.J-+G*(DCB%$?>7<}{{z7654-2s0/.-n+*j('h%e{z!b`__tyx[vXnmrUSoRPlOMiLJfIGcFD`CA]@>==RWVU87RQPOHM0KJIH+FE'C&$##8=<}{9216wu3tr0qo-nl*ki'hf$ec!b`|_]yxwZYtsrqpohmPkjMKa`eHFbaDB^WV[><XW:8TMLQ42N1/K.,++@ED'B$:9>!}||387xv4-,1rpoo&+*ki'~}$#"cb}|{zyxwpYWWVqponmlkjchKfeHcbaCCX]\?Z<RQVUT76QPONMLKJCH+FEDCB$:?>=<|4{2765.3,1rppo&m*)(ig}|#db~a_{^\xwZuWmlqTRnQOkNLKK`edcFEZCAA@[TY<WVU8SR4P31ML/-IBAF)'&&;@?"~<549zx65vt2+*/pnmm$)(i&f|{"ca}`^z][wZXtWUqpoRQlejMKKJed]Fa`_B]\[ZY<:VONS64P31M0.--BGF)D&<;@#!=<}:z216wu32s0p(',mk)jh&ge#dbaav{zy\[vunWUUTonmfkNihgJedFbEC_B@\?=<<QVU86RKJO20LK.,HA@E(&BA$?!76;|z8yw5vt2sq/pn,+*kj'&%|#dbba|{zyr[vutWrqpRRglkNiKa`eHFbEC_^A\>TSX;9U8655JON1L.DCH+)E(&B%#?"~<}{9zxww.321rq.-,+$kiih%$#"!x}`{zy\wvXtsVTpihmPNjiLgI_^cFD`CA]@>Z=;::OTS64PIHM0.J-+G*(D'%A@#>~65:{yxx/432sr/.-,+$)jhhg$#"!~}v_zyx[vutVVkpoRmOediLJfeHcE[Z_B@\?=Y<:V9766KPO2M/EDI,*F)'C&$@#!=<}{921654ut10/.-,%ljji&%$#"!~w|_zyx[vuWsrUSohglOMiLJfIGcFD`CA]@>Z=;W:8T7544INML/.IHGFEDC<A$?>=~|438yw54u2r*).om+lj('h%e{z!b`|_]\\qvuXVrkjoRPlOMiLJfIGcFDCCX]\[>=XWVUTSRQJ3NMLKJ,BGFED&<%:?>=6;49zxxw.3t10/p-,l*)jh&}|#db~a_{z][wpotWUqTRQQfkjMhJ`_dGEaDB^A?[><X;9UTS65JO2MLK.IH*F)'&&;@?"~<549zxww.32s0p(',mk)jh&geddy~}`^zsrwZXtWUqTRnQOkNLhgfIHc\ECCB]\UZ=XWV9TS5Q42N1/KJ-H*@?D'%A$">=~;{327xvuu,10qo-&%kk"'&%fe"!x}`{zy\wvXtWUqpSnPfejMKgJHdGEDDY^]@[=SRW:8T75Q42N1/..CHGF)(CBA:#!!~;:9816w432s0/o-,m*j"!&ge#db~a_{^\x[YuXVrUSoRPlOMLLafedGFa`_^W\?ZYX;VU7S64P3100EJI,*F?>C&$@#!=~|{{276wu3,+0qo-nl*ki'hf$ec!~}`_zyxwvoXVVUponmlkdiLgfeHF\[`CA]@>Z=;WV9T6LKP3100EJI,G)?>C&$@#!=~|:{y7xv4us10/po,+*)('~%f#"!b`vuz][wvYtVlkpSQmPNjMKgfIGc\[`CA]@>Z=;W:8T75Q4211FKJI,+FEDCBA@9"~~}:9876543,1r/.-n+*)ii~%$ec!xw|_]yx[vXnmrUSRRglkNiKa`eHFbaD_AWV[><X;9U86R53O20L/-I,*FED'&A@?>=<;:38y65432r*/.-,l$k"'&}$#z!b}|{^yxwYYnsrUpRhglOMiLJfIGcbE`BXW\?=Y<:V97S64P31M0.J-+**?DCB%$9"~~}:38y654u21q/.om+$#(ig%fd"ca}`^z][wZXtWUqTRnQONNchgfIHc\aD_^]@[Z<X;988MRQ42NGFK.,++@ED'%A:9>!};|z87x5u-,1rp.om+lj(igff{"!~a`{zs\ZZYtsrkpSnmlOjihJJ_dcFD`YX]@>ZY<:VONS6433HML/J,BAF)'&&;@?"=}549zx6wu3tr0qo-nl*ki'hfeez!~}`_zyxqvYtsrUpoQPPejiLgI_^cFD`_B]?UTY<:V9766KPO2M/EDI,*))>CB%@"87<}{9zx6wu3tr0/p-m%$)('hg$#"!xa__^yxwvunsVqpoRmlNjiLgI_^cFDCCX]\?=YRQV9766KPO20LEDI,*FE(&B;:?"~<}{9zx6wu3trqq(-,mk)"!&%$ed!~}|{ty\wvuXsrTpSQmlOjLbafIGcbE`BXW\?=YX;V8NMR5322GLK.I+A@E(&B%#?"~<}{98yw5.-210qp-,+*)(!hffe"!~}|{zsx[vutWrqSonQlNdchKIeHFbEC_B@\?=Y<:V97S64P3100EJIH+*EDCBA@?8=~;:9z76v4us1rp.-nl*#"'hf$ec!b`|{^\xqpuXVUUjonQOkdchKIeHFbEC_^A\>TSX;9U8655JONM0/JIHGFEDC<%@?>=<|49876v.u,10/(-&+ljji~%f#"!b}|^]]rwvYtVlkpSQmPNjMKgfIdF\[`CA@@UZY<W9ONS64P31M0.--BGFE('<A$?>=~;:9yy054us1*).om+lj('hf${z!b`|_]\\qvuXVrkjoRPlOMiLJfIGcFD`CA@@UZYX;:UN7554ONGL/JIH+FE'C&$@?"=}549zxww.32sq/(',mk)jh&ge#db~a_{^\[[putsVUpohmPkjiLgfHdcFaCYX]@>Z=;WV97SLKP3100EJI,G)?>C&$@#!=~|:{y7xv4us1rp.-,ml)('~geed!~}|uz]xwZutsrqTRngfkNLhgJHd]\aDB^A?[><XW:U7MLQ42N1/KJI,+FEDC<A$?>!}549zx6wu3tr0qo-nlkk"'&g$dzy~a_{^\x[YXXmrqTRngfkNLhgfIHcba`_XA??>YXWVUTMR5PON1LK-I,*F)'C&$@?"=}549zx65vt2+*/pn,mk)(i&f|{"ca}`^z][wZXtWUTTinmlONihgfed]bE`_B]\[==RWV9T6LKPON10KJIHGFE>'%%$?>=<;:9816w432s0/o-,mk)"!&ge#db~a_{z][wpotWUqTRnQOkNLhKIeHFba`CB]\[ZYXWVOT7RQPON0FKJIH*@)>CBA:?8=~;:{87654us1*).om+*ki'~}$ec!b`|_]yx[vXnmrUSoRPlkjMLaJHHGb[`C^]@>TSX;9U86R53O20L/-,,AFE(C%;:?"~<}{9zxww.32sq/(',mk)('hg${"caa`{zs\wvuXsrTSShmlOjLbafIGcFD`CA]\?Z<RQV97S64P31M0.J-+G*(''<A@?"!<;4{yyx543,1r/.o,+*jj!&%f#cyx}|{^]xwvotWrqpSnmOkNLhKIHH]baD_AWV[><;;PUT75QJIN1/K.,H+)E(&B%#?"~<;:{z7654-trrq.-,+*#(i&%f#"!~}`^zsrwZXtsVTpihmPNjMKgJHdcFaCYX]@>Z=;WVU87RQPONGL/JI,*@?D'%A$">!};|z8ywvv-21r/o'&+lj(ig%fdccx}|_]yrqvYWsrqTSnmlkjibKIIHcba`_^]V[>YXW:UT6R53O20LK.,HA@E(&%%:?>!<|438yw5vt2sq/pn,mk)jhgg|#"!ba|{zyxwvotWrqTonmOOdihKfH^]ba`CB]\[ZYXWVO8SRQPO1GLKJI+A*?DC<A@9>!}}|38y654u210pp',+l)i!~%fd"!b}_uty\ZvYWsVTpSQmPNjMKgJHdGEaDBAAV[ZY<;PU8SRQP3NM/KJ-H*@?D'%A$">!};|z8yw5vt2sq/pnmm$)('hg$#"yb``_zyxwpuXsrqpSnmOkjMKg`_dGEaDBAAV[Z=;WPOT7544INM0K-CBG*(D'%A$">!};|z8yw5vtss*/.-nm*)('~%f#"!~a|{]yx[vXnmrUSoRPlkNLha`eHFbEC_B@\?=Y<:V97S64PON10KJIHG@)DCBA$?>=}}4zz1654ut10/.-,+$kiih%$#"!~}|uz]xwvuXVlkpSQmPNMMbgfIdF\[`CA@@UZY<W9ONS64P31M0.J-+G*(D'%A$"!!6;:9zy6543210/(-n+*)('g}$#"!aw`uzyxqvotWrqpoRmlNjMKJJ_dcFD`YX]@>Z=;W:8T75Q42N1/K.,HGF)(=&$$#>7<}:9z76543tr0)(-nl*)jh&}|#db~a_{^\xwZuWmlqTRnQOkjiLKf_dGbaDBXW\?=Y<:V97S64P3100EJI,G)?>C&$@#!=~|{{276wu3,+0qo-,+lk('~geed!~}v{^yx[vutVVkSShmlkNMhgf_dGbaD_^]??T<<QVUT76QPONG0..-HGFED=B%@?>!<;:98yw5.-2sq/.om+$#(ig%$e"bxw|_]y\ZvuXVrkjoRPlOMiLJfIGcFD`CA]\[>=XWVUTMR5332MLKJIHA*(('BA@?>=<5:{876wu-,rr).-,ml)('&%$#z!b``_zyxwvutslUponQlkMiLJfeHcE[Z_B@\?=<<QVU8S5KJO20L/-I,*F)'C&$@#!~~5:98yx543210/.'n+*)('g}$#"!aw`uzyxqvotWUUTinQlkNihgII^cbE`BXW\[Z=<QV9776QJ3NML/-CBG*(''<A@#>~65:{y7xv4us1rp.om+lj(ig%fd"ca``uzyx[ZunWUUTonglOjiLgfedcFD`YX]@>ZY<:VONS64P31M0.JI,G)?>C&$@#!=<;|{8705v32sq)(-nl*ki'hf$ec!b`__tyx[vXnmrUSoRPlOMLLafeHFb[Z_B@\[Z=<WVUN7554ONMLEJ-HGF)DCBA@#!=65:{y76wu3,+0qo-,m*j"!&ge#db~}`^zsrwZXtWUqTRnQOkNLhKIedcFE`_^]V[><<;VUTSRK4ON1LKJ,HG*)DCBA@9"~~}:98765.3t10/pn&%kk"'&%fe"!~}|{ty\wvuXsrTpSQmPNjiLgI_^cFD`_B]?UTY<:VU86RKJO20L/-I,*F)'C&$##8=<;|{8765432+rppo,+*)('&%|#d!~a|{z\\qvuXsUkjonmPOjihgfedc\aD_^]\[=SXWVU7M6KPINMLEJ-++*?(CBA$?>~<}{9zx6wu32s0p(',mk)jh&ge#"c~`vuz][wZXtWUqTRnmPkMcbgJHGG\a`_BAV?==<WPU8SR5PONML/-IBAF)'CB%#?87<}{9zx6wu32s0p(',mk)jh&%$ed!x}`{z][qpuXVrUSoRPlOMiLJII^cbE`BXW\?=Y<:V9766KPO20LEDI,*FED'&A@9"~~}:9816w432sq)(-nl*)jh&}|#db~a_{^\x[YuXVrUSoRPlOMiLJfedGFa`_X]@[Z=XWV88MRQ4O1GFKJI,+FEDC<%##"=<;:927x543tr*).om+lj(ig%fd"!b`|uty\ZvYWsVTpSQmPNjMKgfeHGba`_^W\?ZYX;9ONS64P31ML/J,BAF)'C&$@#!=~|:{y7xv4us1rp.-,ml)('&%${dbba|{zyxwvotWrqTonmlkNLha`HH]ba`CB]\[ZYXWPU8SRQ4ON0//DIH+F(>=B%#?"~<}{98y6v.-2sq/pn,+lj(!~%fd"ca}`^z][wZXtsrUTonmlkjihaJedcbaCY^]\[=S<QVUTMRKP3110EJ-HG*EDC%%:?>!<|43876wv-2sqqp-&m*)(ig}|#db~}`{]srwZXtWUqTRnQOkjMhJ`_dGEaDB^A?[><XW:U7MLQPO21LE.,,+FE>C&A@#>=<;:{y70/4us10qo-&%*ki'hf$ec!~a|^tsx[YuXVrqpSRmlejMhgJH^]bEC_B@\?=Y<:V9766KPO2M/EDI,*F)'C&$##8=<}{9216wu321rq.-,%ljji&%$#z!b}|{^yxwvuXVrkjoRPlkNLha`eHFbaD_AWV[><X;9UT75QJIN1/K.,H+)E(&B%#?"~<;:{z7654-2sqqp-,+*)"iggf#"!~}|uz]xwvYWmlTTinmlONihgfed]bE`_^A\[=<<QVU8S5KJO20L/-I,*F)'C&$@?"=}549zx65v3s+*/pn,+l)i!~%fd"!~a`{zyxwvunWUUTonmlkjihafIdcFa`_AAV[Z=X:POTSR54ONMLKJIHAF)DCBA@"8=<;:z2y0543,1*/pnnm$k('&g$#c!b`|_]y\ZvYWsrUpRhglOMihKfH^]bEC_B@\?=Y<:VU8S5KJO20//DIHG*)>'%%$?8=~;:{87654us1*).om+*ki'~}$ec!b`|_]yx[vXnmrUSoRPlkjMLg`eHcbECYX]@>Z=;W:8T75Q4211FKJ-H*@?D'%A$">!}||387xv4-,1rp.-,ml)(!hffe"!~w|_zyx[vutsrUSohglOMihKfH^]bEC_B@\?=<<QVU86RKJO20L/-I,*F)'C&$@#!=<;|{876/4u210q.-m+*k(h~}$ec!b`|{^y[qpuXVrUSonQOkdchKIeHFbEC_B@\?=<<QVUT76QPONG0..-HGFED=B%@?"=<;{{276w4t,+0/.on+*)('~%f#"!b}|^]]rwvYWslkpSQmPNjMKgJHdcFaCYX]@>Z=;W:8T75QP31MFEJIH+*EDCBA@9"~~}:987654-2s0/.o,+*jj!&%f#cyx}`^]]rwvYtVlkpSQmPNjMKgfIdF\[`CA@@UZY<W9ONS64P31M0.J-+**?DCB%$?>=<;:927x543t10p.om+lj(igff{"!b`|uty\ZYYnsrUSohglOMiLJfIGcFD`CA]\[>=XWVUTSRQJ3NMLKJ,BGFED&<%:?>7<;49zxxw.3t10q.-,ll#ii~%$#dcx}`{zy\wvXtWUqTRnQOkNLhKIeHFbECBBW\[><XQPU86R53O20LK.I+A@E(&BA$?!76;|z876wv3,sqqp-,%*k('&g$#c!b`__tyx[vXnmrUSRRglkNLha`eHFEEZ_^A?[TSX;988MRQ4O1GFK.,H+)E(&B%#?"~<;:{z76/4u21rp.-,+*kj'&%|eccb}|{zsx[vutWUkjRRglkjMLgfed]bE`_B]\[ZY<:VONS64PO20LEDI,*F)'C&$@?"=}549zx6wutt+0/pn,%$)('hg$#"!~w`^^]xwvutslqTonQOejihgJIdcba`_X]@[Z=;QP88MRQP32MLKJIHG@)''&A@?>=<;:38y654u210pp',+lj(!~%fd"ca}|_z\rqvYWVVkpoRmOediLJfIGFF[`_B@\UTY<:V97S64P31M0.--BGFE('BA@?>=<;49z76543s+0/.-m%l#('&}${"c~}`^tsx[YutWrTjinQOkNLKK`edGbDZY^A?[><X;9U86R53O20L/-IHG*)>'%%$?8=~;:9z76v43t1q)(-nl*)j'g}|#db~a_{z]xZpotWUTTinmPkMcbgJHdGEa`C^@VUZYX;:UNS6QP3NMLKJ-+G@?D'%A@#!=65:{y7xv4us10q.n&%*ki'hf$#"cb}|u^\\[vutmrUpoRPfejMKgJHdGEaDB^A?>>SXW:U7MLQ42N1/K.,++@ED'%A:9>!};:9zy654-2s0/.o,+*)(ig%|{"ca}|_]yrqvYWsrUpRhglOMiLJfeHFb[Z_B@\?=Y<:V97S64P31MLK.-HGFE>'BA$">=<;:{z76543,1r/.-nl$#ii~%$#dc~}|{zyr[YYXsrqponmfkNihgJedFbEC_^A?[TSX;9UT7R4JIN1/..CHG*E'=<A$">!};|z8yw5vt2sq/pn,+*kj'&%$#"!x}`{z]xwvXXmrqToQgfkjiLKfedcba`_XA\[ZYX:PUTSR4J3HMLKDIBG*(('<A$?>=~;:z87x5u-,1rp.om+*k(h~}$ec!~a|^tsx[YuXVrUSonQlNdchgfIH]bE`_B]\[ZY<:VONS64PO20LEDI,*F)'C&$@?"=}549zx6wu321rq.'nllk('~%f#"cawv{^\x[YuXVrUSoRPOOdihKfH^]bEC_B@\?=<<QVU86RKJO20LKJ-,GF?D'BA@#>=<;:{y70/4us10qo-&%*ki'&g$dzy~a_{^\xwZXtmlqTRnQOkNLhKIeHFbEC_^]@?ZYXQ:UT75QPONM0/JIHG@E(CBA$"87}}4987xw43210)pnnm*)('&%|#d!~a|{]\\qvuXVrkjoRPlOMiLJfeHcE[Z_B@\?=<<QVU86RKJONM0/JIHGFE>C&$$#>=<;:981x54us+0/.-nm*)('&%${dbba|{zyxwvunsVqpSQgfNNchgfIHcba`_^]\UZ=XWVUT6LQPON0F/DIHAFE>C&A@?"=<|{{276w4t,+0qo-nlkk"'&g$dzy~a_{z]xZpotWUqpSnPfejMKgJHdGEaDB^]\?>S<::9TMR5PO20FEJ-+GF)D&<;@#!=~|{{276w4t,+0qo-nl*ki'hf$ec!b`|_]yxwZYtmrUSSRmleNihgJedFbEC_^A?[TSX;9UT7R4JIN1/K.,H+)E(&B%#?"~<;|9y10vv-210qp-,%ljji&%${"c~}`{zyxwZXtmlqTRnmPNjcbgJHdGEaDB^]@[=SRW:8T75QPO21LKJCH+FE(&<;@#!=~|:{y7xv4usrr).-n+k#"'hf$ec!b`__tyx[YunmrUSonmPOjihg`IGGFa`_^]V[>YXW:UTSRQ42NGFK.,HG*(D=<A$">=~;{327xv4us10qo-&%*ki'hf$ec!b`|_]y\ZvutWVqponmfkNLLKfedcbaZCAA@[ZYXWVUNS6QPO20FE--BGFE('BA@?>=<5:{87x54tss*/.om+$#(ig%fd"ca}|_z\rqvYWsVTSShmlOMibafedGFa`_^]\[ZS<WVUTS5KPONM/E.CHGF?D=B%##"7<}:987x54t21r/o'&+lj(ig%$e"bxw|_]yxwZYnsVqpSQgfNNchgfIHc\ECCB]\UZ=XWV9TS5Q42N1/K.,HG*E'=<A$">=~;{327xv4us1rp.om+*)ji&%|#d!~a_uty\ZvuXsUkjoRPlOMLLafeHcE[Z_B@\?=Y<:V97S64P31M0.JIH+*EDC<%##"=<;:38y654u21q/pn,mk)(i&f|{"ca}|_z\rqvYWsVTpSQmPNjMKgfIdF\[CCX]\[>=XWVUNS6QPON1LK-I,*FE(&B;:?"~<}{9zx6wu3tr0qo-nlkk"'&%fe"!~}|{zs\ZZYtsrqponmfkNihgfIdcba`CA]VUZ=;W:877LQP31MFEJ-+**?DC&A#98=~|:{y7xv4us1rp.om+ljii~%$#dc~}|{zyxwpuXsrqpoQglkjiKaJ_dcb[`Y^A\[ZY<WV8TS6Q3IHM0.J-+GF)'C<;@#!=~|:{y7xv4us1rp.om+*)ji~g$#"!b}|{]]rZZotsrUTongPNNMhgf_dGba`_B@VUZ=;W:877LQP3N0FEJ-+**?DC&A#98=~|:{y7xv4us1rp.om+ljii~%$#dc~}|uz]xwvuXsrTpSQPPejiLJf_^cFD`CA]@>Z=;W:8T75Q42NML/.IHGF?(&&%@?>=<5:{87x54321rp.'&+lj('hf${z!b`|_]y\ZvuXsUkjoRPlOMihgJIdcba`Y^A\[><RQV97S64P31M0.J-+**?DC&A#98=~|:{y7xvuu,10qo-&%*ki'&%fe"!~}|{t][[ZutsrqpohmPkjMhgfHH]baD_AWV[ZY<;VUTSRQPIN1//.IHGFEDCB;$?>=~;:987xv4-,rr).-,ml)('&%$#"yb}|{zy[qvutsUkTinglkjchKIIH]bE`_B]\[ZY<:VON66KPON10EJ-HGF)DC%$$9>=~|:327xv43t1q)(-nl*ki'&ge#zy~a_{^\x[YuXVrUSoRPlkjMLg`IGGFa`Y^A\[>YXW9UT76QPIN1LKJ-+A@((=BA@#"=<;4{yyx5432+0q.-,m*)i'hf$ec!~a|^tsx[YutWrTjinQOkjMKg`_dGEaDB^A?[><X;988MRQP32MLKJCH+FE(CBA##8=<}:z21654ut10/.-&mkkj'&%$#"y~a|{z]xwYuXVrqTRngfkNLhKIHH]baDB^WV[><X;9UT7R4JIN1/K.,H+)E(&B%#?>=~}:98765.3t10q.-,+*ki'~}$ec!~a_{tsx[YuXVrUSonQlNdchKIeHFba`CB]\[ZYXWP9776QPONMLKJCH+FE(&<;@#!=~|:{y7xv4usrr).-n+k#"'hf$ec!b`__tyx[YunmrUSonmPOjihgfedc\aD_^]\[=SXWVU7M6KPONGLEJ-HGF)DC%A$">=~;{327xv4us1rp.om+lj(ig%fd"ca``uzyx[ZoXVVUpinQlkNihgIedGFaZ_B]\[><RQ99NSRQ43NMF/--,GFE>C&A@?"=<|{{276w4t,+0qo-nl*ki'&g$dzy~a_{^\xwZXtmlqTRnQOkNLhKIeHFba`CB]\[TY<WV9TSR44INM0K-CBGFE('BA@?8!}}|98765.3t10/p-,l*)jh&}|#db~a_{^\[[putWUqjinQOkNLhgJeG]\aDB^A?[><X;9UT7R4JIN1/..CHGF)(CBA@?8=~;:{87654us1*).om+*ki'~}$ec!b`|_]yx[vXnmrUSoRPlkjMLgfedcb[DBBA\[ZYXWVOT7RQ42HGL/-I,*F)'C&$@#!~~5:9z7w/.3tr0qo-nlkk"'&ge#zy~a_{zy\[vutsrqpinQlkNihJfIGFF[`_B@\UTY<:VU8S5KJO20LK.I+A@E(&B%#?"~<}{9zx6wu321rq.-,+*)('~g$#"!~`v{zyxZpYnsrqjohmPkjMKa`HH]ba`CB]V?==<WVOT7RQ42HGL/-I,*))>CB%@"87<}{98y6v.-2sq/.om+$#(ig%fd"ca}`^z][wZXWWlqpoRQlkdiLgfeHcbD`CA]@>Z=;::OTS6Q3IHM0.JI,G)?>C&$@#!=~|:{y76w4t,+0/.on+*)"i&%fd"!~}|_t]xwvutslqTonmPkjLKK`edGbDZY^A?>>SXW:U7MLQ42NM0K-CBG*(DC&A#98=~|{{2765v-2s0/.-n+*)ii~ff{"!~a`u^\\[votWrqpoRmlNMMbgfIGc\[`CA]\?Z<RQV97S64P31M0.J-+G*(D'%A$">!}||3876wv3,1r/.-,m*)i'&g$dzy~a_{^\xwZXtmlqTRnQOkNLhKIeHFbEC_B@\[Z=<WVO8SRQP3NML..C++@EDC&%@?>=6}{{z76543,1r/.-,mk#"'hf$ecbbw|{^y[qpuXVUUjonQlNdchKIeHFbEC_B@\?=Y<:V9766KPON10KJIHG@E(CBA@#>=};|zyy054us1*).om+lj(ig%fd"ca}`^z][wvuXWrqponmfOjiLJfedcbEZC^]\[ZYRW:UTS6QP2N1/KJ-H*@?D'%$$9>=~|:327xv4us10qo-&%*ki'hf$ec!b`|_]y\ZvutWlqTonmlOjihJJ_GG\a`_BAV?==<WPU8SRQP3NM/..CHG*(D=<A$">=~;{327xv4us1rp.om+lj(ig%fd"ca}`^]]rwvuXWrkpSnmlkNihJfeHcE[Z_B@\?=YX;9UNMR53O20L/-I,*F)'C&$@#!=<;|{870w4321r/.-mm$jj!&%$ed!~}|u^\\[vutsrkpSnmlkNLbafIGcFDCCX]\?Z<RQV9766KPO2M/EDI,*F)'C&$@#!=~|:{y7xvuu,10/po,+*)(!&g$#"!b}|^z][ZZotsVTpihmPNjMKgJHdGEaDB^A?[><XWV98SRQPONG0KJ-+GFEDC&;$?>=<;:38y654u21qpp',+lj(!~%fdccx}|_z\rqvYWsVTpSQmPNjMKgJHdGEaDB^]@[=SRW:877LQPO2GL/JIHG*EDC%%:""7<;:{z1xvvu2+0q.-,+l)(hgg|#"ca}vuz][wvYtVlkpSQmPNjMKgJHdGEaDB^A?[><X;988MRQP32MFK.IHGF)DC%A@#>~65:{y7xv43tr0)(-nl*ki'hf$ec!b`|_]y\ZvutWVqpiRmlOMihgfeH]Fa`_^]\UZ=;W:UNSRQP3HM0KJIH+FE'CB%@"87<}{9zxww.32s0p(',mk)jh&ge#db~a_{^\x[YXXmrqpSRgPNNchKIIH]bE`_^]\?ZYX::O77LQPO21FK.IHG*(DCBA@#8!<;:98705v321r/.n,+l)i!~%fdccx}|_]yrqvYWsrUpRhglOMiLJfIGcFD`CA]\?Z<RQ99NSRQ4I2MLKJIH+dd'&s_@?"![|k9EUC54tPPq)(Ln%I)"h3g1B@y~>O;M\[87o#WE2pSh.?,=iu:s&Gc\"~~XjzUgfwd:ss7L533!1}KhIH+@d>P<$$?![6}X9yUCBvQ,1=Mo',I*6"iDVfA@.?`<_M\r8IHXV31So/.lkjvLt`H%F#!DC1|?>gSXuPb'6p4n2mGFEi-yTFcD=%_#"8J<}{Fyx05SRPPa/L-,lH)F43fCAc!aaOu;:xZpH533TCBQzlOMvKgfe$]"D!C^j/>-w+u)O'6%$J\mM}E{,fx@E'=<_$po!6lkjz7wvAR,1a/.^&l$#Yig}|d/yx}=NM:9w%u5m3D0|.@-ewcKgsI7G#n`BA0/.yxeWtb'6pK43lkkEW-,Gdcb&&r_pK7~5|W2UgTR-sba/_^Jl$6F!hV1TAcQP<;;9977uWmEDS0.gfxdv;gsHH6\!`B|0i.xYvvPU7&_5]2ll}ihgHfeRQC&A#^!!}|Y9iVCSuQQPN<L^JJHGFF&V$AcyQw_{t\\J6H5sU1}Bhg?+*L(aJ%dGF!32|j{zT<w*P8'S%oJm[0k.i,g*e(c&a$_"]~[|YzWxUvStQrOpM:JJljFF&V1{@RQ

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Runic Enchantments, 35 bytes

iiil2="Hi "$5*?S$' $", "$" Runic!"@

Try it online!

Spaces only need to be escaped if you want to use an adjective or noun-phrase as your <I'm!>. Runic splits input on spaces and newlines and as the challenge specified input as either an <adj> or <noun> as single word tokens, I used this feature to avoid parsing and splitting input with code.

\$\endgroup\$
  • \$\begingroup\$ Nice one! Runic is a new language to me. \$\endgroup\$ – connectyourcharger Oct 29 '19 at 20:22
  • \$\begingroup\$ @connectyourcharger Its my own esolang. I did some interesting things with it (such as utilizing unicode combining characters to perform different behavior), though I want to rebuild the language spec from the ground up, as there's a few failure points that I didn't anticipate. \$\endgroup\$ – Draco18s no longer trusts SE Oct 29 '19 at 20:24
1
\$\begingroup\$

Wren, 37 bytes

Fn.new{|x|"Hi%(x[3..-1]), I'm Wren!"}

Try it online!

Explanation

Fn.new{|x|                          } // New anonymous function
          "Hi                         // The hi section
             %(x[3..-1])              // THe input sliced, without the "I'm"
                        , I'm Wren!"  // THe third part, the remaining of the string
\$\endgroup\$
1
\$\begingroup\$

naz, 122 bytes

2a2x1v7a8m1o3d4m9a1o3d3s1o1x1f5r3x1v2e1o1f0x1x2f0a0x1f0m9a2a4m1o9s3s1o2m9a1o2d3a1o3m8s1o3d4s1o3m9a5a1o9s4s1o9a9a7a1o3d7s1o

Uses a lot of arithmetic instructions to set the register to each of the character values in the dad-joke format.

Works for any input file terminated with the control character STX (U+0002).

Explanation (with 0x instructions removed)

2a2x1v           # Set variable 1 equal to 2
7a8m1o           # Output "H"
3d4m9a1o         # Output "i"
3d3s1o           # Output a space
1x1f5r3x1v2e1o1f # Function 1
                 # Read the 5th byte of input, then remove it from the input
                 # This has the effect of skipping over the self-descriptor's "I'm "
                 # Jump to function 2 if the value of the byte is equal to variable 1
                 # Otherwise, output the byte and jump back to the start of function 1
1x2f0a           # Function 2
                 # Add 0 to the register
1f               # Call function 1
0m9a2a4m1o       # Output ","
9s3s1o           # Output a space
2m9a1o           # Output "I"
2d3a1o           # Output an apostrophe (')
3m8s1o           # Output "m"
3d4s1o           # Output a space
3m9a5a1o         # Output "n"
9s4s1o           # Output "a"
9a9a7a1o         # Output "z"
3d7s1o           # Output "!"
\$\endgroup\$
0
\$\begingroup\$

AutoHotkey, 43 bytes

s := "I'm tired"
MsgBox % "Hi"SubStr(s,4)", I'm AutoHotkey!"

Not sure what's considered an output in AutoHotkey and I guess input string is not counted, so in that case the second line is 43 bytes.

\$\endgroup\$
  • \$\begingroup\$ Welcome to the site. Do you really need spaces around the operators? \$\endgroup\$ – Post Rock Garf Hunter May 21 '19 at 12:11
  • \$\begingroup\$ Welcome to PPCG. Note, though, that we don't allow input to be assigned to a pre-defined variable. \$\endgroup\$ – Shaggy May 21 '19 at 12:12
0
\$\begingroup\$

AutoIt, 45

Msgbox(0,0,"Hi "&$cmdLine[2]&", I'm AutoIt")

Grabs the second word from the command line and puts it in a popup. (Must be compiled to exe)

\$\endgroup\$
  • \$\begingroup\$ What happens if there's more than two words, such as with the test case for I'm a programmer? I don't have the language installed. \$\endgroup\$ – Value Ink May 22 '19 at 18:41
0
\$\begingroup\$

TeX, 48 43 bytes

Yes I could save a byte by writing TeX instead of \TeX, but it seems a shame.

\def\s[#1]#2#3#4{}\def~[#1]{Hi\s[]#1, I'm \TeX!}

Update: saved 3 5 bytes thanks to fixed pattern matching.

\def\s[]I'm{}\def~[#1]{Hi\s[]#1, I'm \TeX!}

Test file

\def\s[]I'm{}\def~[#1]{Hi\s[]#1, I'm \TeX!}
~[I'm amazing]
~[I'm hungry]
~[I'm tired]
~[I'm fat]
~[I'm a programmer]
~[I'm a question-writer]
~[I'm a Stack-Overflow-er]
\bye

Output: Hi amazing, I'm TeX! Hi hungry, I'm TeX! Hi tired, I'm TeX! Hi fat, I'm TeX! Hi a programmer, I'm TeX! Hi a question-writer, I'm TeX! Hi a Stack-Overflow-er, I'm TeX!

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Gema, 20 19 characters

<G>*=Hi*, $1 Gema\!

Sample run:

bash-4.4$ echo -n "I'm amazing" | gema '<G>*=Hi*, $1 Gema\!'
Hi amazing, I'm Gema!

bash-4.4$ echo -n "I'm a programmer" | gema '<G>*=Hi*, $1 Gema\!'
Hi a programmer, I'm Gema!

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Rexx (Regina), 35 bytes

say"Hi"substr(arg(1),4)", I'm Rexx"

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Dart, 40 39 bytes

f(s)=>"Hi${s.substring(3)}, I'm Dart!";

Try it online!

\$\endgroup\$
  • \$\begingroup\$ Use substring(3) to allow you to remove the space before it and save a byte. \$\endgroup\$ – Value Ink May 22 '19 at 18:39
0
\$\begingroup\$

Bean, 30 bytes

00000000: 56d8 8100 d3d0 80a0 5d20 8081 253c 5881  VØ..ÓÐ. ] ..%<X.
00000010: 01c8 69ac a0c9 a7ed a0c2 e5e1 ee21       .Èi¬ É§í Âåáî!

Original JavaScript:

`Hi${a.slice(3)}, I'm Bean!`

The program takes the first line of raw input implicitly in a, removing the first three characters, and outputs the template above using that string.

Demo


Test Suite

00000000: 53d0 80d3 d080 a078 2080 8840 a05d 56d8  SÐ.ÓÐ. x ..@ ]VØ
00000010: 8100 d3d0 80a0 5d20 8081 253c 5881 0120  ..ÓÐ. ] ..%<X.. 
00000020: 807b 2381 02c8 69ac a0c9 a7ed a0c2 e5e1  .{#..Èi¬ É§í Âåá
00000030: ee21 0a                                  î!.

Original JavaScript:

_.map(a=>`Hi${a.slice(3)}, I'm Bean!`).join('\n')

The test suite takes all the lines of raw input implicitly in _, applies the first program to each line using map(), then outputs each result per line.

Demo

\$\endgroup\$
0
\$\begingroup\$

아희 (Aheui), 319 bytes

밦밚따밬다발빠받밠따따빠따따밟밢밙다다다분
뭏떠벓벑떠떠벐벌벋떠떠벉더너벅번뻐떠뻐떠벊
맣@섹뵗솬밯삭밧타뿌싿삳빠맣박밯빠싸주마붗
반밚따따두쪼@썽선처손@@@오섣멓서차소빠
성멓뻐섣멓@@@@@@희@먛@셔멓섣멓멓멓

Try it online!

Prints 아희(official Korean name of the language) instead of Aheui, so the code is quite long.

\$\endgroup\$
0
\$\begingroup\$

Assembly (gcc, x64, Linux), 315 bytes

h:.int 26952
s:.int 32
g:.asciz ", I'm GNU Assembler!\n"
.globl main
main:
mov %rdi, %r13
mov %rsi, %r14
lea h, %rdi
mov $0, %rax
call printf
mov $2, %r15
l:
lea s, %rdi
mov $0, %rax
call printf
mov (%r14, %r15, 8), %rdi
mov $0, %rax
call printf
inc %r15
cmp %r15, %r13
jg l
lea g, %rdi
mov $0, %rax
call printf
ret

Try it online!

Ungolfed:

.section .bss

.section .data

hi:
.asciz  "Hi"

space:
.asciz  " "

imgnuasm:
.asciz  ", I'm GNU Assembler!\n"

badArgumentCount:
.asciz  "Requires at least two arguments\n"


.section .text
.globl main
main:

cmpq $3, %rdi # must have at least two arguments
jl .error

movq %rdi, %r13 # save argc
movq %rsi, %r14 # save argv

leaq hi, %rdi
movq $0, %rax   #%rax holds how many xmm regs to be used in x86-64
call printf

movq $2, %r15 # because (%r14, %r15(==0), 8) is the program path and (%r14, %r15(==1), 8) is "I'm"

.loopbegin:

  leaq space, %rdi
  movq $0, %rax
  call printf

  movq (%r14, %r15, 8), %rdi #(%r14, %r15, 8)
  movq $0, %rax
  call printf

  incq %r15
  cmp %r15, %r13
  jg .loopbegin


  leaq imgnuasm, %rdi
  movq $0, %rax
  call printf

  jmp .done

.error:
  leaq badArgumentCount, %rdi
  movq $0, %rax #%rax holds how many xmm regs to be used in x86-64
  call printf

.done:
  movq $0, %rax # return 0 (success)
  ret
\$\endgroup\$
0
\$\begingroup\$

k, 21 bytes

,[;", I'm k!"]"Hi",3_
\$\endgroup\$
0
\$\begingroup\$

C# .NET, 94 bytes

class P{static void Main(string[]a){System.Console.Write($"Hi {a[0].Substring(4)}, I'm C#");}}

Try Online

\$\endgroup\$
0
\$\begingroup\$

Clojure - 36 Bytes

#(str"Hi "(subs %4)", I'm Clojure!")

Trivial solution is trivial, probably has room for improvement

\$\endgroup\$
1 2 3

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.