"DDoouubbllee ssppeeaakk !!"

57

Tantangan super sederhana hari ini, atau bukan?

Saya merasa seperti kita telah mendengar sedikit tentang berbicara ganda baru-baru ini, mari kita mendefinisikannya dengan cara codable ...

Bicara ganda adalah ketika masing-masing dan setiap karakter dalam string teks segera diulang. Sebagai contoh:

"DDoouubbllee  ssppeeaakk!!"

Aturan

  • Tulis kode yang menerima satu argumen, string.
  • Ini akan memodifikasi string ini, menduplikasi setiap karakter.
  • Maka itu akan mengembalikan versi string dobel.
  • Ini kode golf, cobalah untuk mencapai ini dalam jumlah byte terkecil.
  • Harap sertakan tautan ke juru bahasa online untuk kode Anda.
  • String input hanya akan berisi karakter dalam rentang ASCII yang dapat dicetak. Referensi: http://www.asciitable.com/mobile/

Papan peringkat

Berikut ini adalah Stack Snippet untuk menghasilkan leaderboard biasa dan gambaran umum pemenang berdasarkan bahasa.

Untuk memastikan bahwa jawaban Anda muncul, silakan mulai jawaban Anda dengan tajuk utama, menggunakan templat Penurunan harga berikut:

# Language Name, [Other information] N bytes

di mana Nukuran kiriman Anda. Informasi lain mungkin termasuk flag yang ditetapkan dan jika Anda telah meningkatkan skor Anda (biasanya angka yang disukai <s>M</s>). Nharus menjadi angka paling kanan dalam tajuk ini, dan segala sesuatu sebelum yang pertama ,adalah nama bahasa yang Anda gunakan. Nama bahasa dan kata tersebut bytesdapat berupa tautan.

Sebagai contoh:

# [><>](http://esolangs.org/wiki/Fish), <s>162</s> 121 [bytes](https://esolangs.org/wiki/Fish#Instructions)
AJFaraday
sumber
1
Ini akan mengubah string ini . Apakah Anda secara sengaja memerlukan pass-by-reference dan memodifikasi di tempat? Dan kemudian mengembalikan salinan atau referensi ke string yang dimodifikasi itu? Jika demikian, bahasa seperti asm atau C perlu menerima string panjang-eksplisit (pointer + length) di mana panjangnya adalah panjang string saat ini (dengan buffer menjadi dua kali ukuran itu), atau itu ukuran total dan Anda harus duplikat bagian bawah. Dengan demikian Anda harus mulai dari akhir dan bekerja mundur, atau mengalokasikan ruang awal dan kemudian menyalin kembali. Tetapi ada jawaban dalam C dan 8086 asm yang benar-benar melanggar semua itu.
Peter Cordes
3
@PeterCordes Saya tidak peduli apakah itu memodifikasi objek yang sama atau membangun yang baru.
AJFaraday
2
Saya sarankan menuliskannya sebagai "modifikasi (atau hasilkan salinan yang dimodifikasi) dari string" untuk secara eksplisit mengizinkan jawaban yang melakukan atau tidak memodifikasi di tempat. Menyederhanakan kata-kata untuk "mengembalikan string yang panjangnya dua kali, dengan setiap karakter diulang" akan lebih baik tetapi kemudian tidak jelas apakah void foo(char *c, size_t len)legal yang membutuhkan satu buffer input / output dan panjang, dan tidak memiliki nilai balik, hanya saja efek samping pada objek yang memiliki pointer.
Peter Cordes
Bisakah string kosong?
cschultz2048
1
@ cschultz2048 dikatakan string hanya akan berisi karakter ascii yang dapat dicetak, sehingga menyiratkan bahwa mereka akan selalu diisi. Saya berharap kode apa pun untuk tantangan ini akan mengosongkan string kosong ... toh, saya rasa ini bukan ujian yang akan saya gunakan untuk ini.
AJFaraday

Jawaban:

118

Malbolge , 20775 dan 2334 byte

Mungkin saya tidak mengalahkan siapa pun dengan itu, tapi itu sangat menyenangkan untuk dibuat.

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][wZXtWUqpoRQlkjihafIdcbaDBXW\?=YX;9UNMR53O20//DIH+)E>=B%#?"~<}{9zx6wu3tr0/pn,%$jj!&%$ed!~}|{zs\ZZYtsrqponglOjiLgfHdGEaDB^]@[=SRW:8T75Q42N1/K.,HG*E'=<A$"!!6;:{8x0/4us1rp.-,ml)('&%$#z!b}|{zy[qvutsUkTinmlejchKIIH]bE`_^A\[=Y<:VU86RKJO20LK.,HA@E(&BA$">76;|z8yw5vt2sq/pn,mkjj!&%$edy~a|{z][qpuXVUUjonQOkdchKIHH]baD_AWV[><;;PUT7R4JIN1/K.,H+)E(&B%#?"~<}{zz1654ut1*qoon+*#(i&%$e"!~``uzy\ZvonsVTSShmlOjLbafIGFF[`_B@\UTY<:99NSR53OHGL/-I,*F)'C&$@#!=~|:{y765vu21*/pnnm*)(!h%$#d!~}__tyx[vXnmrUSoRPlkNiKa`eHFbECBBW\[>Y;QPU86R53O20L/-I,*F)'&&;@?>!~;:92ywwv3210).o,+*k('g%fd"ca}`^z][wZXtsVqSihmPNjiLgI_^cFD`_B]?UTY<:VUT76QPONGL/--,GFEDC<%@?>!<;:98yw5.-2sq/.o,l$#(ig%fd"!b`|uty\ZYYnsrUpRhglOMiLJfIGcFD`CA]@>==RWVU87RQPONG0..-HGFEDC<A$?>!<;:zz1ww.321rq.-,+*)"'hffe"!~}|{zyrwZutsVqpoQQfkjMhJ`_dGEaDBAAV[Z=;WPOT75Q4211FKJ-+G@?D'%A$">!};|z8yw5vt210qp-,+*)('&}$e"!~}|^tyxwvXnWlqpohmfkNLLK`IdcbE`_^]\?=YRQV97S64P31ML/J,BAF)'CB%@"87<}{9zx6wu3tr0qo-nlkk"'&%fezcaa`{ty\wvuXsrTpSQmPNjiLJf_^cFD`_B@\UTY<:V97S64P31M0.J-+GFE('B;@#!!~;:3z765v321qq(-,m*j"!&ge#db~}`{]srwZXtWUTTinmPkMcbgJHdGEaDB^A?[><X;988MRQP32MLE.,,+FED=B%@?>!}549zxww.32sq/(',mk)(i&f|{"ca}`^z][wZXtWUqTRnQOkNLhgfIHcbaZ_B@@?ZYXWP9TSR5PON00EJI,*F?>C&$##8=<}:z216wu32s0p(',mk)jh&ge#db~a_{^\x[YuXVUUjonmPOjihg`IdcFa`BAAV[Z=;WPOT75Q42N1/K.,HGF)(CBA@?8=~;:9z76v43tr0)(-nl*)j'g}|#db~a_^^sxwZXtmlqTRnQOkNLhKIeHFbEC_^]@?ZYXWVUN7554ONMLKJIBG*EDC&$:9!!6;:9zy6543210/(o,+*)(h~%$#"bxav{tyxwpuXVVUjoRmlkNihJfIGcFD`CA]@>ZY<:VONS64PO2M/EDI,*F)'C&$@#!=~|:98yx/4u21r/.-mm$)(i&f|{"ca}`^z][wZXtWUqTRnQOkjMhJ`_dGEaDB^A?>>SXWV98SL5332MLEJ-HGF)DC%A@#>~65:{y76w4t,+0qo-,m*j"!&ge#"c~`vuz][wZXtWUqTRnQOkNLhgfIHcb[`C^]\[>YXW99N66KPON10KJIB+))(CBA@9>!<;:9z765uu,10q.n&%*ki'&g$dzy~a_{^\x[YuXVrUSoRPlOMiLJfIGFF[`_^A@[ZYXQV9TSRQ4ON0L/-,,AFE(C%;:?"~<;|z8105vtss*/.o,l$#(ig%fd"ca}`^z][wZXtWUTTinmlONihgfe^GEED_^]\[ZSX;VUT7RQP22GLK.I+A@E(&%%:?>!};438yw5vtss*/.om+$#(ig%$ec!xw|_]y\ZvYWsVTpSQmPNMMbgfeHGba`_^]V[>YX;VUTSR53OHGL/-,,AFE(C%;:?"~<;|9y105vt2sq/pn,mk)jh&ge#db~a_{zy\[vutsrqpiRmlkjiKafedcE[DY^]\UZSX;VUT7RQ322GLK.I+A@E(&BA$">76;|z8yw5vt2sq/pn,mk)jh&geddy~}|_^s\ZZYtmrUponQlkMihKIe^]bEC_^A\>TSX;988MRQ4O1GFK.,HG*E'=<A$">!};|z8yw5vt2sqpp',+*kj'~%f#"!b}|^z][wvYWslkpSQPPejiLJf_^cFD`_B]?UTY<:VU8S5KJO20L/-I,*F)'CB%#?87<;:{z76/vtts0/.',m*)(i&%$ddy~}`{]srwZXtWUqpSnPfejMKgJHGG\a`C^@VUZ=;W:8T75Q42N1/K.,++@EDC&%@?>7<}{{z7654-t10/p-,l*ki'&g$dzy~a_{^\x[YuXVrUSoRPlOMiLJII^cbaDC^]\[T=;;:UTSRQJO2MLK.IHGFE(&B;:?"~<}{98y6v.-2sq/pn,mk)jh&ge#db~a_{^\xwvYXsrqpohmPNNMhgfedc\E`_^A\[=YX;9UNMR53O20L/-I,*F)'C&$@#!=~|:{yxx/432sr/.-,+*#jhhg$#"!~}|uz]xwvYtsUqpSnPfejMKgJHdcFaCYX]@>Z=;WV9T6LKP31M0.J-+GF)D&<;@?>!~;:98765.3trrq.-,+*)('~g$#"c~}|{z][wpotWUqTRnQOkNLhgJeG]\aDB^]@[=SRW:8T75Q42N1/..CHGF)(CBA@?>=<5|98765u-210/o'n%*)(!&}$eccbw|_zyx[vuWsVTSShmlOMibafIGFF[`_B]?UTY<:V97S6433HML/-IBAF)'C&$@#!=~|:{y765vu,1r/.-nl$#(igff{"!b}_uty\ZYYnsrUSohglOMiLJfIGcFD`CA]@>Z=;W:877LQPO21LE.,,+FE>C&A@?"=<|{{276wu3,+0qonn%*)j'g}|#db~a_{^\x[YuXVrUSoRPlOMihgJIdc\aD_^]@[Z<XW:U7MLQ42N1/K.,H+)E(&B%#?"~<}{9zxww.321rq.-,%ljji&%$#z!b}|{^yxwYYnsrUSohglOMiLJfeHcE[Z_B@\?=Y<:V97S64P31M0.J-+**?DCB%$?>=<5:{876w432rr).-n+k#"'hf$#d!awv{^\xwZXtmlqTRnQOkNLhKIeHFbEC_B@\?=YXW:9TSRQPI200/JIHGFE>C&A@#!76||3876wv3210/.',m*)j'&%eez!~a_{tsx[YXXmrqTRngfkNLhgJeG]\aDB^A?[><;;PUTS65PONMLKJC,**)DCBA@?>=6;|987x54t21r/o'&+lj(ig%fd"ca``uzy\wYonsVTpSQmPNjMKgfIGc\[`_^A@[ZYXWVUTMR5PONML.DIHGF(>'<A@9>=6;|98y654tt+0/p-m%$)('hg|eccb}v{^yxwZutVrqToQgfkNLhgJeG]\aDBAAV[Z=X:POT7544INM0.JCBG*(D'%A$">!};|z8yw543ts0).o,+*)j'&%eezbbw|{z]\wvoXVVUponglOjihgJedcEEZ_^A?[TSX;9UT7R4JIN1/K.,H+)E(&B%#?"~<}{9zx6wutt+0/.on+*)"'h%$#"c~}|^^sxwZuWmlqTRnQOkjMhJ`_dGEaDB^A?[><X;9U86R53ON1L.DCHGF)(CBA@9"~~}:9876/4u210/p-,l*kihh}$#db~wv{^\[[putWUqjinQOkjMhJ`_dGEaDB^A?[><X;9U8655JONM0/JIHGF?D'BA@?"=<;{{2xx/432sr/.-,+*)(!h%$#"!aw|{zy[qZotsrkpinQOONchKfedcFa`B^A?[Z=X:POT7544INM0K-CBG*(D'%A$">!};|z8yw5vtss*/.-nm$)j'&%$e"!a}`^]]rwvYWslkpSQmPNjMKgJHdGEaDB^A?[ZY<;VO8665POHM0KJ-HGFED'%A:9>!}||387x5u-,1rp.-n+k#"'hf$ec!b`|_]y\ZvYWsVTpSQmlkNMhg`eHFFE`_^]V[>YXW:UTS55JON1L.DCH+)E(&BA$?!76;|z8yw54u2r*).om+lj('h%e{z!b`|{z]\wvutmrUponQOediLJII^cbEC_XW\?=Y<:V97S64P31M0.J-+G*(D'%$$9>=<}|98765.ussr/.-,+*#(i&%$e"!~``u]]rwvuXWrqponmfkNihKfeGcFD`CA]@>==RWV9T6LKP31M0.J-+G*(D'%A$">=<}|9876543,s0/p-,lkk"'&ge#zy~a_{^\x[YutWUqjinQONNchgfIHcba`_^]\UZ=XWVUT6LQPON0F/DIHG@E>C&A@#>=<||387x5u-,1rp.om+lj(ig%fd"ca}`^zy\wYonsVTpSQmPNMMbgfeHG\ECCB]V[>YXW:UT6R53O20//DIH+)E>=B%#?>!<|438yw5vt21rp.'&+lj(ig%fd"ca}`^zyx[ZunsVqpoRmlNjiLJf_^cFD`CA]@>Z=;WV9T6LKP31ML/J,BAF)'CB%@"87<}{zz1654ut10)pnnm*)(!&g$#"cawv{^\xwZuWmlqTRnQONNchgJeG]\aDB^]@[=SRW:8T75Q42N1/K.,H+)((=BA@#"=<;49z765v321qq(-,mk)"!&ge#"c~`vuz][wZXWWlqpSQmfejMKgfIGc\[`CA]@>Z=;W:8T75Q42NML/.IHGF?(&&%@?>=<5:{876w432rr).-n+k#"'hf$ec!~a|^tsx[YuXVUUjonQlNdchKIeHFbEC_B@\?=Y<:99NSRQ43NMLKJCH+))(CBA@?>7~;:9z76v43t1q)(-nl*ki'hf$ec!b`|_]y\ZvYWsVTSShmlkNMhgfedc\ECCB]\[ZYXWPU8SRQ4ONMLK.,HA@E(&BA$?!76;|z8yw5vt2sq/pn,mk)jh&ge#db~}|_^yxwvutslqTRRQlkjihgfe^Gba`C^]?[Z=;WPOT75Q42N1/K.,H+)E(&B%#?"~<}{zz1654ut10/.-,+*#j'&%$#cy~}|{]s\qvunsrkpSQQPejMhgfIdcEa`C^@VUZ=;WV9T6LKP31ML/J,BAF)'C&$@#!=~|:{y7xv4usrr).-,ml#(iggf#zc~}|_zy[wZXtsVTpihmPNjMKgfIdF\[`CA]\?Z<RQV97S64P31M0.--BGFE('B;$""!<;49z765v32r0qonn%*)jh&}|#dbaav{z]xZpotWUqTRnQONNchgJHd]\aDB^A?[><X;9U86RQP32MLEJ-++*EDC<%@?>!<;{9zx6wu3tr0qonn%*)j'g}|#db~}`{]srwZXtsVqSihmPNMMbgfIGc\[CCX]\[>=XWVO8665PONMFK.IHG*ED&B%#?>!<|438yw54u2r*).omll#('hf${z!b`|{^y[qpuXVrUSoRPlOMLLafedGFa`_^W\?ZYX;VU7SR5P2HGL/-I,*F)'C&$@#!=~|:{y7xv4usrr).-,ml)('&%|eccb}|{zyxqvYtsrUSihmPNjMKgfIdF\[`CA]@>Z=;WV9T6LKP31M0.J-+G*(''<A@?"!<;:98705v321rp(',mk)jh&%fd"yx}`^z][wZXtsVTpihmPNjMKgJHdGEaDBAAV[ZY<;VUTSRQPI200/JIHGFEDC<A$?>=~|438yw54u2r*).om+lj(igff{"!b`|uty\ZvYWsVTpSQmPNjMKgfeHGba`_^]\[TY<WVUTS5KPONM/E.CHGF?D=B%@?>!<;{9zx6wu32s0p(',mk)(i&f|{"ca``uzy\wYonsVTpSQPPejiLJf_^cFD`CA]@>Z=;W:8TSR54I200/JCH+FED'BA#?"~<}{98y6v.-2sq/pn,mk)(ig%|{"ca}`^z][wZXtsVqSihmPNMMbgfeHGb[`C^]\?ZY;WV97SLKP31M0.J-+G*(D'%A$">!};|z8ywvv-210qp-,%ljji&%${"c~}|_zy[wvYtVlkpSQmlOjLbafIGcbE`BXW\?=Y<:99NSR5P2HGL/-I,*F)'C&$##8=<;|{876/4u210q.-,ll#('hf${z!b`|{^\xqpuXVrUSonQlNdchKIedGEaZY^A?[><X;9U86R53O20//DIHG*)DCBA:#!!~;:98705v321r/.-mm$)(i&f|{"ca}`^zy\wYonsVTpoRmOediLJII^cbE`BXW\?=YX;V8NMR53O20L/-I,*F)'&&;@?>!~;:98705v321r/.n,mk)jh&ge#"ca}vuz][wZXtsVTpihmPNjMKgJHdGEa`C^@VUZ=;::OTSR54ONMLKJC,**)DCBA@?>7<}:98y65u3tr0qonn%*)j'g}|#db~a_{z]xZpotWUqTRnQOkNLhgJHd]\a`_BA\[ZYXWVOT7RQP3NM/KJ-H*@?D'%A$">!};|z8yw5vt2sq/pn,mkjj!&%$ed!~}|{zyxqZutsrqSinmlkMcLafed]b[`CAA@UZ=XWV9TS544INM0.JCBG*(DC&$@98=~|:{yxx/43tr0)(-nl*ki'hf$ec!b`|{^y[qputsVUjoRmlkNihJII^cbE`BXW\?=<<QVU8S5KJO20LK.I+A@E(&BA$?!76;|z87x5u-,1rp.om+ljii~%$#dc~w`^^]xwpuXsrqTonmOOdihKIe^]bEC_B@\[><XQPU86R5322GLK.,HA@E(&B%#?"~<}{9zx6wutt+0/.on+*#(i&%$e"!a}`^z][wZXtWUqTRnQOkNLhKIedcFE`_^W@>>=XWVUNS6QPO2ML.JI,G)?>&&;@?>!~;:9816w43tr*).omll#('h%e{z!b`|{^y[qpuXVrUSoRPlOMiLJfIGcFD`CA]\[>=XWVUTM6QP3NML..CHG*(D=<A$"!!6;:{y70/4us1rp.om+lj('&gf#"!~}|uz]xwZutVrqToQgfkNLhKIeHFbEC_B@\?=YX;V8NMR53O20L/-IHG*)DCBA@?>7~||{87654321*/p-,+l)('gg|#"ca}vuz][wZXWWlqpSnPfejMKgJHGG\a`C^@VUZ=;WV9T6LKP31MLK.-HGFEDCBA:?"=<;:9y16543s+r).',+*#(i&%$e"!~}|_]yrqvYWsVTSShmlOMibafIGFF[`_B@\UTY<:V97S64P31M0.J-+G*(''<A@?"!6}:9z76vuu,10qo-&%*ki'hf$ec!b`__tyx[vXnmrqpSRmfkNihgJedFbaD_AWV[><XW:U7MLQ4211FKJ-H*@?D'%A$">!};|z8yw5vt2sq/.-nm*)"iggf#"!x}`{z][qpuXVUUjonQlNdchKIedGbDZY^A?[><X;9U86R53O20L/-I,*FED'&A@?8=~;:{876vv-21rp.'&+ljii~%$ec!xw|_]yx[vXnmrUSoRPlOMLLafedGFa`_^W@>>=XWVUTMR5PO2ML.JI,G)?>C&$@#!=~|:{y7xv4us1rp.om+ljii~%$#dc~}|{zsx[YYXsrqpongPkjiLgfeGG\a`C^@VUZ=;W:8T75Q4211FKJ-H*@?D'%A$"!!6;:9zy654321*qoon+*)('&%|#d!~}`{zyxwZXtmlqTRnQONNchgJHd]\aDBAAV[Z=;WPOT75QP31MFEJ-+G*(D'%A$">!};|z876wv3210/.-&+l)(i&%eddy~}`^zsrwZXtWUqTRnQONNchgJeG]\a`_BA\[ZYXWVUN7RQPON0FKJIH*@)>CBA:?8=~||{27x543t10/oo&+*k(h~}$ec!~a|^tsx[YuXVUUjonQlNdchKIedGbDZY^A?[><X;9U86R53O20LKJ-,AF)DC&$:9>!}||387x5u-,1rp.-n+k#"'hf$ec!b`|_]y\ZvYWsVTpSQmlkNMhaJedGba`BBW\[><XQPU8655JON1/KDCH+)E(&B%#?"~<;:{z76/4u21r/.n,+l)i!~%fd"ca}`^z][wZXtWUqpSnPfejMKgJHdGEa`_BA\[ZS<::9TSRQJO2MLK.IH*F)'C&$@#!=~|:{y7xv43t1q)(-nl*ki'hf$#d!awv{^\x[YutsVUponmfkNihgJedFbaD_AWV[><;;PUT75QJIN1/..CHG*(D=<A$">=~|:327xv4us1rp.om+lj(ig%$#dc~}|{zs\wvYtsUTTinmPNjcbgJHdGEaDB^A?>>SXW:U7MLQPO21LKJIHG@E(CBA$"87}}4987xw43210/.'nllk('&%$#"!x}`{z][qpuXVUUjonQlNdchKIedGbDZY^A?[><X;9U86R53O20L/-I,*FED'&A@?>=<;:38y65432r*/.-,l$k"'&%|#z!b}|_zyxZZotsVTpihmPNMMbgfIGc\[`CA]\?Z<RQV97S64P3100EJIH+*?(&&%@9>!<;|98x65v3s+*/pn,mk)jh&ge#db~a_{^\x[YuXVUUjonmPOjchKIIHcb[D_^]@[Z<XW:8TMLQ42N1/KJ-H*@?D'%A@#>~65:{y7xv4us1rp.om+ljii~%$#dc~}v_]]\wvunsVqpSnmONNchgJHd]\aDB^]@[=SRW:8T75Q42N1/KJ-H*@?D'%A$">=~|:327xvuu,10/po,+*#(iggf#"!~}v{^yx[YonVVkponQPkjihg`eHFFE`_^]\[T=XWV9TS5Q42N1/K.,H+)ED'%A:9>!};|z87x5u-,1rp.om+lj(ig%$e"bxw|_]\\qvutWVqponmleNihKfeGcFDCCX]\?Z<RQV97S64PO20LEDI,*F)'C&$@#!=~|:{yxx/432sr/.-,+*)"'h%$#d!~`|{^y[qpuXVrqToQgfkNLhgJeG]\aDB^A?[><X;9U86R53O20//DIHG*)DCBA@?>=6}:9876v.3210p(o&+*#('~%fddcx}`{z]xwYutWrTjinQOkjMhJ`_dGEa`C^@VUZ=;W:8T75Q42N1/K.,H+)((=BA@#"7<}:9z765uu,10qo-&%*kihh}$#db~wv{^\xwZuWmlqTRnQOkNLKK`edcFE`YB@@?ZYRW:UTS6QP2NM0K-CBG*(DC&A#98=~|{{276wu3,+0qo-nl*ki'hf$ec!b`|_]yxwZYtslqTonQlkjLLafeHcE[Z_^]@?ZYXQ:887RQPOHM0KJI,GF(D'%A$">!};|z8yw54u2r*).om+lj(ig%fdccx}|_z\rqvYWVVkponQPkjihafIdcFDZY^A?>>SXW:U7MLQ42NM0K-CBG*(D'%A$">!};|z8yw5vt2sq/.-nm*)('&}f#"c~}|^^sxwZXtmlqTRQQfkjMKg`_dGEaDB^A?[><XWV98SRQPONGL/--,GFEDCBA:#>=<}:9y7xv4us1rp.om+*k(h~}$ec!b`|_]y\ZvuXVrkjonmPOjihgfed]Fa`C^]\>>SXW:U7MLQPO21LKJIHGFE>C&A@?>=}5:987w/v-210).',m*)(ig}|#db~a_{z][wpotWUqTRQQfkjMKg`_dGEaDB^A?[><X;9U86RQP32G0..-HAF)DC&A@"!!6;:{8x0/4us1rp.-n+k#"'hf$ec!b`|_]y\ZvuXsUkjoRPlOMLLafedGFaZ_B]\?ZYX::OTS64PIHM0.--BGF)'C<;@#!=<}:z216wu3tr0qonn%*)(ih%${dbba|{zsx[vutWrqSonQOkdchKIHH]baD_AWV[><X;988MRQ4O1GFK.,H+)E(&B%#?"~<}{zz1654ut10/(-n+*k('&ff{"!b}_utyxwZYtsrqjSQQPkjihg`eHcbaD_^@??TYX;V8NMR53ON1L.DCH+)E(&BA$?!76;|z87x5u-,1rp.om+lj(ig%$e"bxw|{z]\wvutslqTonmlOjihJJ_GG\a`_BA\[ZYXWVUN7RQPON0FKJIH*@)>CBA:?8=~||{27x5432s0/onn%*)jh&}|#db~}`{]srwZXtWUqTRnQOkNLhKIeHFbEC_B@??TYXW:9NS6QPON1LK-IH+F(>=B%#?"~<;|z8105vt2sq/pn,mk)jh&ge#db~}|_^yr[vutsVqpoQQfNNchgfIHcbaZCAA@[ZYXQV9TSRQ42HGL/-I,*))>CB%@"87<}{zz165v3s+*/pn,mk)jh&ge#db~a_{^\[[putsVUponmfkNihgfIdcEaDBAAV[Z=;WPOT75Q42N1/K.,H+)E(&B%#?>=~}:9876/vtts0/.-,+$)j'&ge{z!b`__tyx[vXnmrUSonQlNdchKIeHFbEC_B@\?=Y<:V97S64PON10KJIHGF?D'BA$?>=}}498yw5.-2sqpp',+lj(!~%fd"!b}_uty\ZvYWsVTSShmlkNMhgfedcb[D_^A\[Z<<Q99NSRQ43NMLKJIHG@E(CBA@?!7<;:9y1x/43,10).o,+l)('gg|ddy~}|_^s\ZZYtmrUponQlkjihKIe^]bEC_^A?[TSX;9U86RQ42NGFK.,H+)E(&B%#?"~<}{9zxww.321rq.',mkkj'&}fddc~}|uz]xwvYWmlTTinmlONihg`eHFFE`_^]V?ZYX;VU7S64PO2M/EDI,*F)'&&;@?"=}549zx6wu3tr0qo-nl*kihh}$#"cb}|{zs\wvYtsrTTinmPkMcbgfeHGba`_^W\?ZYX;VU766KPO2M/EDI,*))>CB%#?87<}{9zxww.32sq/(',mk)jh&ge#db~a_{^\xwvYXsrqpongPNNMhgfedcb[`C^]@>TSX;988MRQ4O1GFK.,HG*E'=<A$">!};|z8yw5vt2sq/pn,mk)('hg$#"!~}|uz]xwZutsUUjonQOkdchKIHH]baDB^WV[><XW:U7MLQ42N1/K.,++@EDC&%@?>=<;:92y65432r*/.-,l$k"'&%|#z!b``_ty\wvuXsrqSShmlOMibafIGcbEC_XW\?=YX;V8NMR53O20L/-I,*F)'C&$@#!=~|:98yx/4ussr/(o,+l)('g%$ed!xa__^yxqvYtsrUSihPPejihKJed]bE`_^A\[=Y<:V97SR5P2HGL/-IH+F(>=B%#?>!};438yw5vt2sq/pn,mkjj!&%$ed!~}v_zy\wvuWWlqpSnPfejihKJedcb[`C^]\?=SRW:8T7544INM0.JCBG*(DC&$@98=~|:{y76w4t,+0qo-nl*ki'hfeez!~}`_zyxwvoXVVUponmlkdiLgfeHcbD`_B@\UTY<:VU8S5KJO20L/-I,*F)'C&$@#!=~|:{y765vu210/.-&+l)(i&%$#"ca}vu]]rwvuXWrqponmleNLLKfedcba`_X]@[ZY<WV877LQP3N0FEJ-+G*(D'%A@#>~65:{y7xv43tr0)(-nl*ki'hf$ec!b`|{z]\wvutsrqpinQlkjihJ`edcbDZCX]\[TYRW:UT7RQP22GLK.I+A@EDC&%:#!!~;49z765v32r0/pn,%$)jh&ge#"ca}vuz][wZXtsVqSihmPNjMKgJHdGEDDY^]\?>YRW:UT75KJO20//DIH+F(>=B%#?>!<|438yw5vt2sq/pn,mk)jh&ge#db~}|_^yxqZutWrqpRRglkNLha`eHFEEZ_^A?[TSX;9U86R53O20LKJ-,GFE>C&A@?"=<;{{276wu3,+0qo-,mk)"!&ge#"c~`vuz][wZXtWUqTRnQOkNLhKIeHFba`CB]\[ZS<::9TSRQPIN1LKJ-+A@((=BA@#"=<;:981xvvu210/.-,%*k('&g$#cbbw|{^y[qpuXVrUSoRPlOMiLJfeHcE[Z_B@\[>Y;QPU86RQ4O1GFK.,HGF)(CBA@?>=6;|98y654tt+0/p-m%$)jh&ge#db~a_{^\x[YuXVrqToQgfkNLhKIeHFEEZ_^]@?ZYXWVUTSL5PONML.DIHGF(>'<;@?>=6;|zzy05v321rp(',mk)jh&%fd"yx}`^]]rwvYWslkpSQmPNMMbgfIdF\[`CA]@>Z=;W:8T75QPO21FK.IH+)?>C&$##8=<}:z216wu32s0p(',mk)jh&ge#db~a_{^\x[YuXVrqpSRmfOjiLgfeGG\a`CA]VUZ=;::OTS64PIHM0.J-+G*(D'%A@?"!<;49z765v321qq(-,mk)"!&ge#"ca}vuz][wvYtVlkpSQPPejiLgI_^cFD`CA]@>Z=;W:8T75Q42NML/.IHG@)''&A@?>7<}:98y65u32s0p(',mk)jh&ge#"c~`vuz][wvYWslkpSQmPNjMKgJHdGEDDY^]\?>YXWVOT7RQ4ONM//DIH+F(>=B%#?"~<}{9zx6wu3tr0qo-,m*j"!&ge#db~a_^^sxwvYXsrqpohQOONihgfed]bE`_^A\[=Y<:V97S64P31ML/J,BAF)'C&$@?"=}549zx6wu3tr0/p-m%$)jh&geddy~}|_^yxwvutmrUSSRmlkjihg`IdcbE`_A]@>ZY<:VONS64P31M0.JI,G)?>C&$@#!=~|:{y765vu210/.-,%ljji&%$#"!~}v{^yxwZXnmrUSRRglkNLha`eHFbEC_^A\>TSX;988MRQ42NGFK.,H+)E(&B%#?"~<;:{z76543210).o,+*)(h~%$#"bxav{zyrwpuXsrUponPPeMMbgfeHG\ECCB]V[>YXW:8NMR53O20//DIH+F(>=B%#?"~<}{98y6v.-2sq/.o,l$#(ig%$#dc~w|_zyx[vutsrUSohglOMLLafeHFb[Z_B@\?=YX;9UNMR5322GLK.,HA@E(&B%#?"~<}{9zx6wu321rq.-&m*)jh&%$#"cb}|{ty\wvuXVlkSShmlkNMhgfe^GEED_^]\[TY<WV9TSRQP31MFEJ-+**?DC&A#98=~|:9z7w/.3tr0qo-nl*ki'hf$ec!b`|_]yxwZYtsrqpinQOONihgfed]Fa`CAW\[ZY<;VUTSRQJ3110KJIHGFE>C&A@#!76||3876wv3210/.-&+l)('h%$#ccx}|_]yrqvYWsVTpoRmOediLJII^cbE`BXW\?=Y<:99NSR53OHGL/-I,*F)'C&$@#!~~5:98yx543210/.'n+*)('g}$#"!aw`uzyxqvotWrqTonPOOdihKIe^]bEC_B@\?=Y<:V97S64P31M0.J-+GFE('<A$?>=~;:9yy054u2r*).om+ljii~%$ec!xw|_]\\qvuXVrkjoRPOOdihKfH^]bEC_^A\>TSX;9U86R53O20//DIHG*)D=&$$#>=6;|98y65u32s0p(',mk)jh&ge#db~a_{^\x[YuXVrUSRRglkjMLgf_dGbaD_^]??TYX;9UNMR5322GLK.,HA@E(&BA$?!76;|z8yw5vtss*/.-nm*)(!hffe"!~}v{^yxwZutsUUjonQOkdchKIedGEaZY^A?[Z=X:POT75Q42N1/K.,H+)E(&B%#?"~<;:{z7654-2s0/pn,+*)(ih%$#"!xa__^yxwvutmrUponQOedLLafedGFa`_^]\UZ=XWV9TS5Q42NM0.JCBG*(DC&A#98=~|{{276w4t,+0qo-nl*ki'hf$ec!b`|_]yxwZYtsrqpongPkjMhgfHH]baD_AWV[ZY<;VUTSRQPOHM0KJIHG)?DCBA#9"7<;49816w432s0/.nn%*)j'g}|#db~a_{z][wpotWUTTinmPNjcbgJHdGEaDB^A?[><X;988MRQP32G0..-HAF)DC&$:9>!}||387x5u-,1rp.-n+k#"'hf$ec!b`|_]y\ZvYWsVTpSQmlkNMhafIdcFa`_AAV[Z=;WPOT7544INM0.JCBG*(DC&A#98=~|:{y7xvuu,10/po,+$kiih%$#z!b}|{^yxwYYnsrUSohglOMihKIe^]bEC_^A\>TSX;9U86R53O20L/-I,*F)'C&$@?>!~;:927x54us10/.-nm*)('~geed!~}|{ty\wvuXVlkSShmlkNMhgfed]bE`_B]\>ZY<W9ONS64PO2M/EDI,*F)'C&$@#!=~|:{y7xv4us10/po,+*)('~geed!~}|{zyrwZutWUkponmPOjihgfed]bE`_B@VU==RWVU87RQPONMLKD-HGFED&<A@?>~6}498705.3trrq(-n+*)j'&feez!~a|^tsx[YuXVUUjonQlNdchKIedGbDZY^A?[Z=X:POT75Q42N1/K.,HGF)(=B%@?"=<;{{276wu3,+0qonn%*)jh&}|#db~}`{]srwZXtWUqTRnmPkMcbgfeHGb[DBBA\[TY<WVU86LKP31ML/-IBAF)'CB%#?87<}{zz165vt2+*/pn,mk)jh&ge#db~a_^^sxwvYXsrkpSnmPNdchKIHH]baD_AWV[><XW:U7MLQ42N1/K.,H+)E(&B%#?"~<}{987xw432+r/.o,+*jj!&%fd"yx}`^]]rwvYWslkpSQmPNjMKgJHdcbED_^]\UZ=XWV9TSR44INM0.JCBG*(DC&$@98=~|:9z7w/.3tr0qo-nl*ki'hf$ec!b`|_]yxwZYtsrqpiRPPOjihgfe^cFa`_B@VU==RWVU87RQPONMLE.,,+FEDCBA@?8=~;:{87w5vt2sq/pn,mk)jh&%f#cyx}`^z][wZXtWUqTRnQOkNLhKIeHFEEZ_^]@?ZYXWVUTSLQ4ONMLK-CHGFE'=&;@?>7<5:{8765v32r0/p-m%$)jh&ge#"c~`vuz][wvuXWlUSSRmfkNihKI_^FF[`_^A@[TY<WVU8SR4P31M0.J-+GF)D&<;@#!=<}:z216wu3tr0qo-nl*)(ih%${d!~a|{]\\qvuXVrkjoRPlOMiLJfIGcFD`CA]@>Z=;W:8TSR54ONMFK.IHG*ED&BA$?!76;|z8ywvv-21rp.'&+lj(ig%$e"bxw|_]y\ZvYWsVTpSQmlkNMhgfe^GEED_^]\[TY<WV9TS5QP3N0FEJ-+G*(D'%A$">!};|z8yw5vt2sqpp',+*kj'&%$#z!b}|_zyxZZotsVTpihmPNMMbgfIGc\[`CA]\?Z<RQV97S64P3100EJIH+*EDCBA@9"=<}:98xx/43t1q)(-,+lk('&%$#"y~a|{z][qpuXVUUjonQOkdchKIeHFbEC_B@\?=Y<:V97S64P3100EJIH+*EDCBA@?>7~;:987w/4321q)p',+$)(!&g$#"!b}|^z][wvYWslkpSQmPNjMKgJHdGEaDB^A?>>SXWV98SRQJ3110KJIHAF)DCBA$?>=<;|z8105vt2sqpp',+lj(!~%fdccx}|_z\rqvYWsVTpSQmPNjMKgJHdGEDDY^]\?>YXWVOT7RQPO2ML.JI,G)?>C&$@#!=<}{9216wu3tr0qo-nl*ki'hf$ec!~}`_zyxwvoXsrqpSnmlNNcKK`edcFE`_^]\[ZS<::9TSRQPONMFK.IHGF)'=<A$">!}||387x5u-,1rpoo&+*k(h~}$ec!b`|_]y\ZvYWsVTpSQPPejihKJedcba`_^W\?ZYXWV8NSRQP2H1FKJIBG@E(CBA@#>=};|zyy054us1*).om+lj(ig%fd"ca}`^z][wvuXWlUpoRmlkjiLJf_^FF[`_^A@[TY<WVU8SRQPO20LEDI,*F)'CB%@"87<}{9zx6wu3tr0qo-nl*ki'hf$#"cb}|u^\\[vutmrUpoRmlkMihKJedc\aD_^]@>TS;;PUTS65PONMF/--,GFEDC<A$?>=~;:z8yw5vt21r/o'&+lj('h%e{z!b`|{^\xqpuXVrUSoRPlOMiLJII^cbaDC^]\[ZSX;VU8SRQ33HML/J,BAFED'&A@?>=<5|zzy6543210).o,+*k('g%fd"!b}_uty\ZvuXsUkjoRPlOMiLJfeHcE[Z_B@\?=Y<:V97S6433HMLK.-HGFEDCB;@#>=~|438ywvv-21r/o'&+lj('h%e{z!b`|_]y\ZvYWsVTpSQmPNjMKgfeHGba`_^]\[T=XWVUT6LQPON0F/DIHG@E>C&A@#>=<||387xv4-,1rpoo&+*ki'~}$ec!b`|_]y\ZvutWVkpSnmlOjiKJJ_dcFD`YX]@>Z=;WV97SLKP31M0.J-+G*(D'%A$">!}||3876wv3,sqqp-,%*k('h%$#c!~a`{zsx[vutWUkjRRglkjMLgfe^GEED_^]\UZ=XWV9TS544INM0K-CBG*(D'%A$">=~;{327xv4us10qo-&%*ki'hf$ec!b`|_]yxwZYtsrqjoRmlOjihJJ_dcFaCYX]@>Z=;W:8T75Q42N1/K.,HG*E'=<A$">!};|zyy0543ts0/.-,%ljji&%$#"!x}`{zy\wvXtWUqTRnmPkMcbgJHdcFaCYX]@>ZY<W9ONS64P31M0.JI,*F?>CBA$#>=<;:927x54us+*/pnmm$)(i&f|{"ca}|_z\rqvYWsVTpSQmPNjMKgJHdGEaDB^]\?>YXWVUTSL5PO2MLK--BGF)'C<;@#!~~5:9zx6/.3tr0qo-nl*ki'&%fe"!~}|{zyrwZutsrqSinmlkMcLaf_dcb[`C^]@[Z<X;9U86RQ42NGFK.,++@ED'B$:9>!};|z8yw5vt21r/o'&+lj(igff{"!~a`u^yx[YonVVkponQPkjcLJJIdcb[`C^]@[ZY;;PUT75QJINML/.IHG@E(&&%@?>=<5:{87xv.-ss*/.-nm*)('&}$e"!b}|{]]rwvYWslkpSQmPNjiLgI_^cFD`_B]?UTY<:VU86RKJO20LK.I+A@EDC&%@?>=<;4{yyx543210/(-n+*)j'&f$ec!~a|^tsx[YuXVrqToQgfkNLhgJeG]\aDB^A?[><X;988MRQP32MLKJIHG@E(CB%#?>=<;|3z765432+0q.-,m*)i'hf$ecbbw|{^\xqpuXVrqTRngfkNLhgJeG]\aDB^A?[><X;988MRQ42NGFKJI,AF)DCBA$?>=}}4zz1654ut+rppo,%*k('&%f#"baav{z][wpotWUqpSnPfejMKgJHdGEaDB^A?[><X;9U86R5322GLKJ-,G@E(CBA@#>=};:{8x0/4us1rp.-nl*#"'hf$ec!b`|_]y\ZvYWsVTponQPkjcLgfedGba`BBW??TYXW:9TSRQJ3110KJIHG@E(CBA@#!76;|z8ywvv-21r/o'&+ljii~%$e"bxw|_]y\ZvYWsVTpSQmPNjMKJJ_dcbED_^]\[TY<WVUT7RQ3O20//DIH+)E>=B%#?"~<}{9zx6wu3tr0qo-,+lk('&%$#zc~}`^zyxwvYnWrqponmfkNihgJedcEEZ_^A\>TSX;9UT7R4JIN1/KJ-H*@?D'%A@#>~65:{y76w4t,+0qonn%*)j'g}|ddy~}|_ty\wvutWrqpRRgOOdihgJI^GEED_X]@[ZYX;VU766KPO20LEDI,*FE(C%;:?"~<}{9zx6wu3tr0qo-nl*ki'hfeez!~}`_zsx[vutsVqpRnmPkMcbgJHdGEa`CA]VUZ=;W:8T75Q42N1/K.,H+)EDC&%@?8!<;:9z765uu,rr).-,ml)('&}fddc~}|{zsx[vutsVTjinQOkNLKK`edGbDZY^A?>>SXW:U7MLQ42N1/K.,H+)E(&B%#?"~}}4987xw43210).o,+*)j'&f$ecbbw|{^\xqpuXVrUSoRPlOMiLJfIGcFD`_^A@[ZYXWVO8SR53ONMLK.C,GFEDCB;@#>=<}:9y7xv43t1q)(-nlkk"'&ge#zy~a_{^\xwZXtmlqTRnQOkNLhKIeHFbEC_^]@UZ=XWVU8SRQ33H00EJIH+*?(&&%@9>!<;:9z76vuu,10qo-&%*ki'&g$dzy~a_{^\x[YuXVrUSoRPlOMiLJfIGFF[`_^A@[TY<WVUT7RQ3ON1L.DCH+)E(&BA$">76;|z8yw5vt2sq/pn,mk)jh&%$ed!~w`{zyx[vutVVkSShmlkNMhgfe^GEED_^]\[TY<WVUT75KJO20L/-,,AFE(C%;:?"~}}498y6v.-2sq/pn,mk)jh&ge#db~a_^^sxwvYXsrqpohmPkjihKfeGcFDCCX]\?=YRQV97S64P31M0.J-+G*(D'%A@?"!<;:9870w43tr0/.-,m$k('&%$#z!b}|{^yxZYYnsrUSohglOMLLafeHcE[Z_B@\?=Y<:V97S64P31M0.J-+GF)D&<;@#!~~5:98y05v3210q.-,ll#ii~%$#dcxa__^yrwZutsrUpoQPPejiLJf_^cFD`_B]?UTY<:V97S64P31M0.J-+G*(D'%A$"!!6;:9zy6/4u210/p-,l*)j'g}|#db~a_{z][wpotWUqTRnQOkNLhKIeHFbEC_^]@?ZYR;VU86RQPON1F/JIHGFE>C&$@#>7<;:9z16w4321r/.n,+l)i!~%fd"ca``uzy\wYonsVTpSQmPNjMKgJHdGEaDBAAV[ZY<;P977LQ4221FK.IHGFE(CBA##8~~5:98yx/4u210qo-,+*)j!h%$#"!~w|_zyx[YonsVTpSQmPNMMbgfIdF\[`CA]@>Z=;W:8TS6Q3IHMLK.C,GFEDCB%^#K=[}GziUUfSt,ON)ooK%kH5XgCBdSRQ=v_^9'[%Y#FlUTR.-P>j<htIHH]o4`l1A?>Zwv*:8TSq5]3!kk/DgHTwd'b%;^L\[Z|49i1Tv4u2rr)(nKl76jE~%BdSbQ`Ouz\[8ZuWs3UC0Rm->jvKt`HG#EE`B1@/z==vutOT&Ro]O[MYKJVyf*c(b%%ML]=Z;X3i1xTRRt+*pp-,%[jYhD%CAARa}+_MLr&Y$5V3DToAmPej*;a`e$]#[Z_B{@[-fwv)UT&qKPmllj/hhBx)(>C&_M^]7Z}Xz8yTf.@Qba/;^,lkk"!WC1BS@-`_uMyK7I5XVV200{mfNj*uK&HHpb[D}B@zy=,+QV9Tr6p]"Nk0|{VBeSRcPa$_9Kn};{zEhgT4u,>*);'nJIkiEW210SRQ=<*;(K&I$tslk}BA@?eMv;(JI$F""mB^|i>>=vW)9'7%$#2NlYX-,HA@)''%%_?8[~;{zzVCT.d,s*N_n,mk6"FDCCTA?>P+{z(xq655s22}S/gfkjLL:fIH#EE!YAjVzgYX:)(s65p]m[MY/hCB+)RcPa$#""=<|43ixwS4Q2P*`p'KJHZ(!WVBec!-P=*ML9J6$GF3q10A-O>=c;(J%HGF!~_^0?.-w+QcUs`p4JmH1//{gyxeRQ

Cobalah online!

Jika tantangan tidak memerlukan penghentian di beberapa titik (mis. Eof), itu menjadi sangat sepele, mencetak 2334 byte :

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]xwvutslqTonmPkjLhKIeHFbEC_^A?[TSX;9UT7R4JIN1/K.,H+)E(&B%#?"~<}{987x/4u21rp(',mk)jh&%fd"yx}`^z][wZXtWUTTinmPkMcbgJHGG\a`C^@VUZ=;::OTS6Q3IHMLK.-B+FE(CBA##8~~5:98yx5.3t10q.-,+*ki'~}eez!~}`_zyxqvYtsVqpoQQfkjMhJ`_dGEaDBAAV[Z=;WPOT7544INM0K-CBG*(D'%A$">!};|z8yw5vt210qp-,+*#j'&g$#"!~a_{ts[[putsVUponmlkdMhgJedcEEZ_^A\>TSXWV98SRQPONMFK.IHGFE'=BA@?!7~5:9816/4u21r/.-,+lj(!~ff{"!~a`uz]xwvYtsUqTRnQONNchgJHd]\aDBAAV[Z=;WPOT7544INM0.JCBG*(''<A@#!=65:{yxx/43tr0)(-nlkk"'&ge#zy~}|_ty\wvYWmlqTRnmPkMcbgJHdcFaCYX]@>==RWV97SLKP31M0.J-+G*(D'%A$">!}||3876wv-t10/p-,l*)(i~%fddcx}`{zy\wvXtWUqTRnQOkjMhJ`_dGEDDY^]@[=SRW:877LQP3N0FEJ-+**?DC&A#98=~|{{276w4t,+0qonn%*)j'g}|#db~a_^^sxwvYXmrUponQlkMiLJfIGFF[`_B@\UTY<:99NSR53OHGL/-,,AFE(&B;:?"~}}498yw5.-2sq/.-n%l)('&%$e@b>,+^^:87Z5n"!10/QP-kMv(gf%Gc543}|0{[-YXu)t87L5]Ol~jjiz++evbaa`M^!=Z|kWWD05S3?O*)o'JJH)F!~f1TAy>,<^]:xJ6YXmlD0SAQPk+vKaJ%%F5ECCX|zz=xRQ

Cobalah online!

Penjelasan

Saya diminta untuk menjelaskan cara kerja program. Saya akan memilih yang kedua karena lebih mudah untuk menjelaskannya daripada yang pertama, tetapi cara keduanya bekerja sangat mirip.

Mari kita mulai dengan mendekripsi kode. Ketika seseorang di komentar melakukannya sebelum saya mulai mengerjakan penjelasannya, maka saya sangat menyarankan Anda untuk memeriksanya.

Itu tidak membuat membaca program lebih mudah orang akan mengatakan, tetapi sebelum kita langsung masuk ke kode, mari kita tinjau dasar-dasar Malbolge.

Mesin virtual didasarkan pada Trits ( tri nary digit s ). Setiap kata mesin memiliki lebar sepuluh trit, sehingga berkisar dari 0 hingga 2222222222t (= 59048d). Setiap posisi memori memiliki kata mesin; alamat juga satu kata mesin lebar. Data dan kode berbagi ruang memori yang sama.

Ada tiga register, masing-masing memegang satu kata mesin, awalnya 0: register kode C yang merupakan penunjuk ke instruksi yang akan dieksekusi, register data D digunakan untuk manipulasi data dan akumulator A juga digunakan oleh beberapa instruksi untuk memanipulasi data.

Jika instruksi untuk mengeksekusi tidak dalam kisaran 33-126, eksekusi berhenti (penerjemah referensi hang dalam kasus ini karena bug). Jika tidak, untuk menentukan instruksi aktual untuk dieksekusi, nilai yang ditunjukkan oleh register C ditambahkan ke register C itu sendiri dan hasilnya dibagi dengan 94, dengan mengambil sisanya.

Berikut adalah tabel dari semua instruksi yang memungkinkan.Meja

Sekarang karena kodenya lebih mudah dimengerti dan sebenarnya mungkin untuk mengetahui apa yang terjadi di sana, kita dapat beralih ke ide umum tentang apa yang terjadi di sana.

Tanpa melompat, pemrograman Malbolge cukup sepele. Ketika lompatan digunakan, ada tugas mendekripsi yang harus dilakukan sebelum mengeksekusi kode ini lagi. Setiap kali sebuah instruksi dieksekusi, itu akan langsung setelah dienkripsi, sehingga tidak berlaku seperti sebelumnya.

Untuk menggambarkan solusinya, mari kita lihat program kucing Malbolge yang dinormalisasi:

jpoo*pjoooop*ojoopoo*ojoooooppjoivvv
o/i<iviv
i<vvvvvvvvvvvvv
oji

Jadi seperti yang Anda lihat, pada baris kedua yang kita miliki /dan <instruksi berurusan dengan hal-hal I / O. Memanfaatkan fakta bahwa Cmendaftar adalah penunjuk instruksi, kita dapat memodifikasinya menggunakan iinstruksi yang secara efektif membuat cabang. Sebelum cabang terjadi, kita perlu mendekripsi instruksi yang hanya beberapa siklus membaca dan menulis output ke dan dari TTY, dikombinasikan dengan lompatan. Karena tidak ada cara nyata untuk menyimpan konstanta secara efektif, kita perlu menanamkan banyak instruksi yang tidak terkait dan menggunakan nilainya untuk menghitung konstanta lain yang diperlukan (memanfaatkan fakta bahwa Malbolge tidak memisahkan program dan data)

Catatan: Sebagian dari jawaban ini diambil dari halaman Esolang wiki Malbolge yang dilisensikan di bawah CC0- link .

Mungkin, Anda mungkin ingin memeriksa jawaban saya yang lain yang menampilkan Seed

Krzysztof Szewczyk
sumber
15
Wow! Bagaimana Anda membuat ini? Bagaimana Anda memprogram di Malbolge? (Ini adalah pertanyaan serius, ngomong-ngomong)
MilkyWay90
39
Hari dimana seseorang menulis, di Malbolge, sebuah program yang hanya menyalin inputnya ke outputnya, adalah hari rambut saya secara spontan berubah menjadi hijau. Ini adalah hari di mana gajah berwarna ungu dan unta terbang, dan seekor sapi bisa masuk melalui mata jarum. Ini tampaknya melampaui itu.
Adám
20
@ Adám, setidaknya dengan faktor 2.
Shaggy
12
Pertama kali mendengar Malbolge, tetapi membaca dokumen-dokumen itu yang bisa saya pikirkan adalah: dang, ini adalah jawaban yang mengesankan. Apakah mungkin untuk menjelaskan kode Anda, atau tidak bisa dijelaskan? ;)
Kevin Cruijssen
24
+1 untuk "itu menjadi sangat sepele"
Arnauld
89

brainfuck , 6 byte

,[..,]

Cobalah online!

Untuk sekali ini, jawaban yang sangat kompetitif dalam brainfuck. :-) Itu hanya membaca dari input standar ( ,), kemudian loop sementara karakter membaca bukan nol ( [), menulis karakter membaca dua kali ( ..) dan akhirnya membaca karakter baru ( ,) sebelum kembali ke awal dari loop ( ]).

Alternatif jawaban 6 byte:

+[,..]

Cobalah online!

Charlie
sumber
10
Itu harus terjadi kapan-kapan.
AJFaraday
14
diberikan 8 instruksi brainfuck, dapat diperdebatkan sebagai 2,25 byte?
speedstyle
44

Seed , 6013 3942 3884 3865 3848 bytes

6 2686150228553910251590139707025615036563204497823963635717768129239771871066022173506550480510882628259267028226290577985584582829987099606110915656117177113555095646841841520224800333754793732176561479800611856258812006670385981709167679328497862503284773114717364645850756926464567857029605682209030697372493435852024478962025612141035167904456425050991742516020282696732660004824569723936406080643638019715421991278634074220365586727498681650073989748857985341022350116695714407041551609933358182688736747622670056818175549484918971558384479903673900409406866275258032866680967195428439907751537922194839977711106739550525066186108781580088916582559490041917035011328862266125578018990106393872489460844458091217404944194309597162769266585917996079831048944050703695352212652362891425728346891039020051565145149143668695374506752075410956647268061596926723805877631732070244839345640289062870487268706837056753112890753688530410829624567367052492603150395779619674714389456447573342335882718419424356991739625084740814435581409670174841935167450868967735568432921607395284483532735870628809137816139721467391760314297120583388009684979379888771619327969950939260709632318979448755571394507744993723267176377451465261335636767345281382139780890626858048062851714445255458413414708836044457819560626602471881203745677166851290194466534044374122781840150694963232713079984019097616802988558052961445185981197848860688635007868494303883280609553158126926303057368716954797175868772233997584782178460308584468311133667562020523260687787209651365697360075036255149184531675013585317549831215044187699501112214237282761452176427542227751840469500783022037518267131004723958694850409020207947539046371030202918430731468837057173037358435898981729128093138565524861044307737736772778645659866179416374742499528142506977571896833797572787168504674372995624869224644028121889021513694674680344413147327217671463636201883832593707987630471763158950694907193475270346642656464131212900528377257996057522592531063490286796434946290829640562975054259249630102041301990094261151488784971084438450904697283402436878185751193256803412549504172175692725366543545573099651580644132336272302990268431569623087644930350666119986012078396755208814027614451748455718916151950218835893255721018309717807161101069849247670957963270760531996609510342178009605381013854568528344071028665101709824510991652144229895556116304356971449229862349660751509158124118556805449346752918775201366378708970673708268140336609704879631200464020207189960217784283188350457711700181561855735903701439931161728546207607766764248018356183768557244013532032616392458312600465372655052565572757979232509950076857757257164261786986456779565081319671440867797151240096925123970490604003172676471092543424462070540303172987644037832692737644573481399927217285232015082118420498058022229538934735831710860610342762500071914715742707928060606416262583307855509796730058097681208691054336064995992598081644175617375019325706441005506100489323794725547244923204524790583484243672718647866979116309868261348266944902049457094368284266044502218232850494065571536043568039093446786891928597439310947971461490128765873399872574753055564655381318395939745692438909430171644009177696549501234738931977436030245682360974103741227416811200635596942701451202333113537361407624672328798572271366897755165037017879673502748767425083758652376018772700583221474572236166246539494675416322678094399996691972837962509574037110004298629947088012862552029152119412750923308070223808629424081676003170951500587426197322368913565250353332410276730344732325753114510178069340400741671217608323179698501977213623893949006870978691284571486316780769512681865771113879654002525802085758553029765815927252866913455193686303619992165147682671351400793392238437682055370542229871989802092530537034276944154276536658348210

Cobalah online!

Krzysztof Szewczyk
sumber
1
Saya telah mencapai batas suara harian, tetapi saya akan membatalkannya dalam 2 jam
MilkyWay90
4
Saya tidak bisa mulai mengerti ini
AJFaraday
7
Apakah ada kesempatan untuk menjelaskan bagaimana Anda mendapatkannya? Akankah deskripsi seperti itu memasukkan kata 'sepele' pada suatu titik?
ouflak
1
@ouflak baik, kali ini, itu tidak akan termasuk kata 'sepele', karena tantangan yang diperlukan membalikkan Mersenne Twister
Krzysztof Szewczyk
6
Bagaimana Anda membalikkan Mersenne Twister?
MilkyWay90
31

Jelly , 1 byte

Program lengkap.

ż

Cobalah online!

Tuan Xcoder
sumber
Oh, saya terlalu lambat. Baru saja akan memposting
Adám
FWIW Saya perhatikan bahwa ini adalah program penuh karena sebagai Tautan monadik ia menerima daftar karakter tetapi mengembalikan daftar daftar karakter - sehingga ia menerima string Python sebagai argumen dan mencetak hasilnya (seperti halnya byter 1 saya , meskipun yang ini mungkin ditambah untuk berfungsi sebagai Tautan ( ż`F), sedangkan yang saya tidak percaya
Jonathan Allan
(Nick Kennedy menunjukkan milikku bisa menjadi Tautan dengan tidak valid, eval :))
Jonathan Allan
1
@JonathanAllan Pfffft, uneval-eval :)))
Tn. Xcoder
3
@Jakuje Jelly memiliki codepage sendiri , sehingga masing-masing dari 256 karakter di dalamnya dikodekan sebagai 1 byte.
Tn. Xcoder
25

Bahasa Pemrograman Shakespeare , 139 129 109 106 byte

-3 byte terima kasih kepada Jo King

N.Ajax,.Page,.Act I:.Scene I:.[Exeunt][Enter Ajax and Page]Ajax:Open mind.Speak thy.Speak thy.Let usAct I.

Cobalah online!

Menaburkan peringatan dan berakhir dengan kesalahan. Menghadapinya.

NieDzejkob
sumber
1
@ Jo King woah, ini adalah penggunaan [Exeunt] yang sangat pintar!
NieDzejkob
22

Haskell , 15 14 13 byte

(>>=(<$"dd"))

Cobalah online!

atau terbaca:

\xs -> concatMap (\x -> map (const x) ['d','d']) xs

Penjelasan: Daftar adalah Monaddalam Haskell, dan menggunakan operator bind >>=adalah concatMap, menjalankan fungsi yang mengambil elemen dan mengembalikan daftar pada setiap elemen daftar dan kemudian menggabungkan daftar yang dihasilkan menjadi satu daftar besar.

Sekarang kita hanya perlu membangun fungsi yang, diberi nilai, mengembalikan daftar nilai itu dua kali, yang dicapai dengan (<$"dd"), yang dapat dibaca sebagai "Ambil daftar ['d','d']dan ganti setiap elemen dengan argumen fungsi ini. "dd"Bisa jadi ekspresi apa pun yang menghasilkan daftar tepat dua elemen, tetapi ini adalah yang terpendek yang bisa saya buat.

Sacchan
sumber
1
menggunakan <$adalah sesuatu yang saya tidak akan pernah pikirkan
Mega Man
3
@MegaMan Credit ditujukan kepada Laikoni, yang memberi saya petunjuk tentang tantangan codegolf lain setahun yang lalu codegolf.stackexchange.com/questions/6281/…
Sacchan
18

05AB1E , 2 byte

ø˜ or øS  (both 05AB1E versions)
ζ˜ or ζS  (new 05AB1E version only)
€D or €Â  (new 05AB1E version only)
.ι        (new 05AB1E version only)
ºS        (new 05AB1E version only)
·S or xS  (legacy 05AB1E version only)
+S        (legacy 05AB1E version only) 

Ok, saya menyerah. Saya tidak dapat menemukan 1-byter untuk menyelesaikan ini. Banyak 2 byters, ..

Coba ø˜online atau Coba øSonline .
Coba ζ˜online atau Coba ζSonline .
Coba €Donline atau Coba €Âonline .
Coba online.
Coba ºSonline.
Coba ·Sonline atau Coba xSonline .
Coba +Sonline.

I / O sebagai daftar karakter.

Penjelasan:

ø    # Zip/transpose the (implicit) input-list with itself
     #  i.e. ["a","b","c"] → [["a","a"],["b","b"],["c","c"]]
 ˜   # Deep flatten it
     # OR
 S   # Convert it to a flattened list of characters
     # (which will be output implicitly as result)

Satu-satunya program yang berfungsi sama di kedua versi 05AB1E. :)

ζ    # Zip/transpose the (implicit) input-list with the (implicit) input-list
     #  i.e. ["a","b","c"] → [["a","a"],["b","b"],["c","c"]]
 ˜   # Deep flatten it
     # OR
 S   # Convert it to a flattened list of characters
     # (which will be output implicitly as result)

Versi ini pada dasarnya berfungsi sama seperti di atas untuk versi baru. Dalam versi lama Anda akan membutuhkan pasangan eksplisit terlebih dahulu, dan kemudian Anda bisa zip / transpos itu. Hanya ζpada daftar 1D akan menjadi no-op dalam versi warisan 05AB1E.

    # For each character in the (implicit) input-list,
     # keeping all values on the stack into the resulting list:
 D   # Duplicate it
     # OR
 Â   # Bifurcate it (short for duplicate & reverse copy)
     # (which will be output implicitly as result)

Dalam versi baru 05AB1E, itu menyimpan semua nilai di stack ke dalam daftar yang dihasilkan saat melakukan peta. Sedangkan dengan versi lawas 05AB1E itu hanya akan mempertahankan nilai tertinggi. Itulah sebabnya ini hanya berfungsi di versi baru.

   # Interleave the (implicit) input-list with the (implicit) input-list
     # (which will be output implicitly as result)

Builtin ini belum ada di sana dalam versi warisan 05AB1E.

º    # Mirror each value in the (implicit) input-list
     #  i.e. ["a","b","c"] → ["aa","bb","cc"]
 S   # Convert it to a flattened list of characters
     # (which will be output implicitly as result)

Dalam versi warisan 05AB1E, cermin horizontal yang dibangun akan menjadi bukan º. Namun, ∞Stidak berfungsi dalam versi lawas, karena secara implisit akan mengubah daftar menjadi string yang dibatasi-baris sebelum dicerminkan sepenuhnya ( Coba di sini ), setelah Situ juga akan menyertakan baris baru ini.

·    # Double each character
     # OR
x    # Double each character (without popping)
     #  i.e. ["a","b","c"] → ["aa","bb","cc"]
 S   # Convert it to a flattened list of characters
     # (which will be output implicitly as result)

Double adalah kependekan dari 2*. Dalam versi baru 05AB1E, build di Elixir, ini hanya bekerja pada nilai numerik. Versi legasi 05AB1E dibangun dengan Python, jadi 2*berfungsi serupa dan mengulangi karakter.

+    # Append all characters in the (implicit) input-list at the same indices 
     # with the characters of the (implicit) input-list
     #  i.e. ["a","b","c"] → ["aa","bb","cc"]
 S   # Convert it to a flattened list of characters
     # (which will be output implicitly as result)

Sekali lagi, karena versi warisan 05AB1E dibangun dengan Python, "a"+"a"menghasilkan "aa", sedangkan yang +tidak dapat digunakan untuk menambahkan string dalam versi baru. (PS: Ada tambahan untuk string yang berfungsi di kedua versi, yaitu «, tetapi ketika memberikan dua argumen daftar, ia akan menyatukannya, daripada menggabungkan setiap string pada indeks yang sama seperti program di atas ( Coba di sini ).)

Kevin Cruijssen
sumber
Ada juga ζ˜untuk 05AB1E modern.
Grimmy
@Grimy Tidak menyadari itu tidak berfungsi dalam versi lawas. Saya pikir itu sama dengan ø˜, jadi saya tidak repot-repot menambahkannya juga. Saya telah menambahkannya (dan øS/ ζS/ xS).
Kevin Cruijssen
17

Skema Piramida , 229 218 213 byte

    ^
   /l\
  /oop\
 ^-----^
 -^   ^-
 /[\ /]\
^---^---^
-^ / \  -^
^-/out\ / \
-^-----/set\
 -^   ^-----^
  -^  -    /+\
  / \     ^---^
 /arg\   /1\  -
^-----^  ---
-^    -
 -^
 / \
/arg\
-----^
    /1\
    ---

Cobalah online!

Ini pasti bisa lebih pendek. Input diambil melalui argumen baris perintah. Ini sama dengan pada dasarnya:

str = input()
n = 0
while str[n]:
  print(str[n]*2)
  n += 1 

Dengan beberapa peringatan, seperti pencetakan benar-benar ditangani baik dalam kondisi loop maupun loop body.

Alternatif 215 byter:

     ^
    /l\
   /oop\
  ^-----^
 /[\    -^
^---^   / \
-^ ^-^ /set\
^- -^-^-----^
-^ / \-    /+\
^-/out\   ^---^
-^-----  /1\  -
 -^      ---
  -^
  / \
 /arg\
^-----^
-^    -
 -^
 / \
/arg\
-----^
    /1\
    ---

Cobalah online!

Jo King
sumber
3
The setbisa digeser dan meninggalkan tanpa mengganggu apa-apa. Cobalah online!
Khuldraeseth na'Barya
Piramida Cult datang ke PPCG!
val
15

Jelly , 1 byte

Program lengkap mencetak hasilnya.

Cobalah online!

Bagaimana?

Menggunakan fitur bug ...
Atom "ganda" Jelly, diimplementasikan dengan Python *dan vektorisasi, sedangkan daftar karakter Jelly (satu-satunya "string") diimplementasikan sebagai daftar string Python yang biasanya hanya satu karakter panjang - yaitu sampai kita menyadari bahwa dengan Python 'blah'*2='blahblah'...

Ḥ - Main link: list of characters (as parsed from an argument as a Python string)
  -                       e.g. ['A','b','b','a']
Ḥ - double (vectorises)        ['AA','bb','bb','aa']
  - implicit, smashing print     AAbbbbaa
Jonathan Allan
sumber
Jika Anda ingin membuat tautan monadik (bukan program lengkap), Anda dapat menggunakanḤṾV
Nick Kennedy
Ah, saya tidak tahu itu akan berhasil - bagus!
Jonathan Allan
Menurut saya seperti karakter tiga byte: $ echo -n "Ḥ" | hexdump -C<newline>00000000 e1 b8 a4 |...|
Jakuje
1
@Jakuje Kode adalah salah satu byte, af, hanya representasi visual dari byte itu, lihat Jelly ini kode-halaman (juga terhubung dalam header dari pos).
Jonathan Allan
15

Jelly, 1 byte

ż

Cobalah online!

Maafkan pengalaman saya, saya baru saja mulai dengan Jelly. Apa yang saya yakini sedang terjadi adalah bahwa kita telah mendefinisikan rantai diad, yang memperlakukan satu argumen sebagai argumen kiri dan kanan. Dalam hal ini, rantai terdiri dari "zip; interleave x dan y", interleaving string input dengan dirinya sendiri.

Seseorang sudah memposting solusi Jelly 1-byte, jadi saya harap itu bukan sikap buruk untuk memposting milik saya.

Eric Burgess
sumber
7
Selamat datang di situs ini! Tidak apa-apa untuk mengirim jawaban yang mengikat yang sudah ada terutama jika jawaban Anda memiliki penjelasan dan yang lainnya tidak.
Wheat Wizard
15

Python, 34 25 byte

lambda i:sum(zip(i,i),())

Cobalah online! Satu lagi yang mengembalikan string bukannya daftar karakter:

for i in input():print(i,end=i)
for i in input():               asking for the input, and doing a 
                                for loop for every char in the string.
                 print(i,end=i) print the character, and then close 
                                the line with the same character.

Cobalah online!

SEBUAH _
sumber
4
lambda i:sum(zip(i,i),())harus dilakukan untuk -9.
Tn. Xcoder
@ Mr.Xcoder ini mengembalikan daftar karakter, bukan string. Yang asli dapat ditingkatkan 3 byte, meskipun:for i in input():print(i,end=i)
primo
lambda i:''.join(c*2 for c in i)32 byte tetapi mengembalikan sebuah string dan bukan daftar
Gábor Fekete
Masih bekerja dengan 31 byte :)lambda i:''.join(c*2for c in i)
movatica
12

PowerShell , 29 23 21 byte

-6 bytes berkat Andrei Odegov
-2 bytes berkat mazzy

-join($args|%{$_+$_})

Cobalah online!

Mengambil input melalui splatting, pada dasarnya membuatnya menjadi array karakter

Veskah
sumber
2
-6 byte .
Andrei Odegov
1
apa pendapatmu tentang splatting? Cobalah online!
mazzy
11

8088 Majelis, IBM PC DOS, 16 10 byte

xxdDump byte yang dirakit

00000000: b401 cd21 b40e cd10 ebf6                 ...!......

Daftar belum dirakit:

B4 01       MOV  AH, 01H        ; DOS read char from STDIN (AH=01)
CD 21       INT  21H            ; read char into AL (echoes input)
B4 0E       MOV  AH, 0EH        ; BIOS write char to console
CD 10       INT  10H            ; write char to console 
EB F6       JMP  -10            ; continue looping until break

Standalone PC DOS dapat dieksekusi. Input dari STDIN, output ke konsol.

Input konsol interaktif:

masukkan deskripsi gambar di sini

Input melalui pipa:

masukkan deskripsi gambar di sini

Asli 16 byte jawaban:

xxdDump byte yang dirakit

00000000: d1ee ad8a c849 acb4 0ecd 10cd 10e2 f7c3  .....I..........

Daftar belum dirakit:

D1 EE       SHR  SI, 1          ; point SI to DOS PSP (080H) 
AD          LODSW               ; load input length into AL 
48          DEC  AX             ; remove leading space from length counter 
8A C8       MOV  CL, AL         ; move length to loop counter 
        C_LOOP: 
AC          LODSB               ; load next char into AL 
B4 0E       MOV  AH, 0EH        ; PC BIOS tty output function 
CD 10       INT  10H            ; write char to console 
CD 10       INT  10H            ; write char to console again
E2 F7       LOOP C_LOOP         ; continue looping through chars 
C3          RET                 ; exit to DOS

Standalone PC DOS dapat dieksekusi. Input melalui baris perintah, output ke konsol.

masukkan deskripsi gambar di sini

640KB
sumber
Gunakan XCHG AX, CX bukannya MOV CL, AL untuk menyimpan byte.
NieDzejkob
1
@NieDzejkob, terima kasih! Satu-satunya masalah ada yang LODSWakan menempatkan ruang terkemuka ( 20H) dari 81Hdalam AHyang tentu saja akan mengacaukan LOOPjika itu di CH... Nyebelin.
640KB
10

sed , 10 8 byte

s/./&&/g

Cobalah online!

Berkat @manatwork untuk -2 byte.

Leo Tenenbaum
sumber
3
Mereka yang melarikan diri panjang ... Lebih baik s/./&&/g.
manatwork
10

JavaScript (Node.js) , 22 byte

Mengambil input sebagai array karakter.

s=>s.flatMap(c=>[c,c])

Cobalah online!


JavaScript (ES6), 26 byte

Mengambil input sebagai string.

s=>s.replace(/./gs,c=>c+c)

Cobalah online!

Versi alternatif yang disarankan oleh @PabloLozano:

s=>s.replace(/./gs,'$&$&')

Cobalah online!

Melakukannya dengan cara rekursif juga sama panjangnya:

f=([c,...s])=>c?c+c+f(s):s

Cobalah online!

Arnauld
sumber
s=>s.replace(/./gs,c=>c+c)sehingga .juga cocok dengan baris baru
Nahuel Fouilleul
@NahuelFouilleul Tangkapan yang bagus. Terima kasih!
Arnauld
1
@KevinCruijssen Yang join('')harus mengurus itu. Setelah dipikir-pikir, itu mungkin menambah output dengan cara yang tidak standar sehingga mungkin tidak valid.
Oliver
1
@Liver, saya pikir itu tidak valid. 05AB1E saya akan memiliki beberapa solusi 1 byte dalam hal ini. I / O default untuk string adalah baik, baik .. string, atau daftar / array / aliran karakter / string char tunggal. ["aa","bb","cc"]Namun adalah daftar string, bukan string atau daftar karakter itu sendiri. Menambahkan gabungan atau meratakannya ke daftar karakter valid, tetapi harus dihitung menuju byte-count.
Kevin Cruijssen
1
@KevinCruijssen Ya, saya setuju :-)
Oliver
6

C (gcc) , 40 byte

f(s,t)char*s,*t;{while(*t++=*t++=*s++);}

Cobalah online!

Asumsikan tadalah buffer yang cukup besar untuk menyimpan output.

Mungkin tidak sesuai standar, tetapi bekerja pada TIO.

Leo Tenenbaum
sumber
6

J , 6 3 byte

-3 byte terima kasih kepada Richard Donovan

2#]

Cobalah online!

K (oK) , 8 4 byte

-4 byte terima kasih kepada ngn!

{2}#

Cobalah online!

Galen Ivanov
sumber
1
Galen bukan hanya 2 # untuk dua byte, seperti dalam ...
Richard Donovan
1
2 # 'qwerty' ===> 'qqwweerrttyy'
Richard Donovan
@ Richard Donovan ya. Berhasil!
Galen Ivanov
sama di k:{2}#
ngn
@ ngn Hmm, saya tidak tahu, rupanya! Terima kasih!
Galen Ivanov
5

Haskell , 15 byte

Di sini (:)<*>puremengambil argumen dan mengembalikan daftar yang berisi argumen ini dua kali. Kemudian >>=memetakan fungsi ini pada setiap entri dari daftar input (yang merupakan string dalam kasus kami) dan meratakan hasilnya (daftar daftar) kembali ke daftar.

(>>=(:)<*>pure)

Cobalah online!

cacat
sumber
Punya jawaban pertama yang sama, suka penggunaan S combinator
cole
@cole Saya hanya melihat jawaban Anda yang lebih pendek ketika saya akan mengirimkan yang ini - tetapi saya tetap mempostingnya karena saya pikir itu sangat elegan :)
flawr
5

Labirin , 12 byte

",)@
" (
..:

Cobalah online!

Saya baru saja menemukan bahasa ini sehingga jawaban ini dapat sangat ditingkatkan ...

Charlie
sumber
1
Bagus, pikiran pertama saya adalah sama (hanya ","bukannya "",), saya sudah mengelola sebelas sekarang - bisakah ada sepuluh atau lebih baik?
Jonathan Allan
5

R , 50 33 byte

-17 byte terima kasih kepada Giuseppe

function(a)gsub('(.)','\\1\\1',a)

Cobalah online!

Robert S.
sumber
1
gsub('(.)','\\1\\1',a)?
Giuseppe
Saya tidak hanya memeriksa CG.SE dua detik setelah Anda memposting, saya memeriksa sepanjang waktu, haha, saya mungkin harus mengurangi sedikit.
Giuseppe
@ Giuseppe Tidak tahu cara kerjanya, tetapi ternyata berhasil.
Robert S.
1
Oh, juga gsubpenggantian ekspresi reguler - menggantikan kecocokan satu karakter (.)dalam grup tangkap 1 dengan dua salinan grup tangkap 1 \\1\\1, untuk semua kecocokan yang memungkinkan, sebagai lawan dari subyang hanya melakukan satu.
Giuseppe
@ Giuseppe Haruskah ini diajukan sebagai jawaban Anda sendiri karena ini adalah solusi yang sama sekali berbeda dari apa yang saya temukan?
Robert S.
5

Retina , 4 byte


$<&

Cobalah online!

Cocokkan string kosong (yaitu posisi sebelum / setelah setiap karakter) dan masukkan string antara ini dan pertandingan sebelumnya (yang selalu persis karakter sebelumnya; kecuali untuk pertandingan pertama di mana ia tidak melakukan apa-apa).

Martin Ender
sumber
5

Java 8, 27 byte

s->s.replaceAll(".","$0$0")

Cobalah online.

Jawaban 31 byte sebelum aturan diubah:

s->s.replaceAll("(?s).","$0$0")

CATATAN: Saran dari @EmbodimentOfIgnorance ( \n|.bukannya (?s).telah dikembalikan, karena gagal jika inputnya berisi \r. Terima kasih telah melaporkan ke @ OlivierGrégoire .

Cobalah online.

Penjelasan:

s->                             // Method with String as both parameter and return-type
  s.replaceAll("(?s).","$0$0")  //  Regex-replace all matches with the replacement
                                //  And return the changed String as result

Penjelasan regex:

(?s).                           // Match:
(?s)                            //  Enable DOTALL mode so newlines and carriage returns
                                //  are treated as literal
    .                           //  A single character

$0$0                            // Replacement:
$0                              //  All character(s) found in the match
  $0                            //  And again all character(s) found in the match
Kevin Cruijssen
sumber
1
(?s).dapat diganti dengan\n|.
Perwujudan Ketidaktahuan
@EmbodimentofIgnorance Ah, tentu saja. Terima kasih! :)
Kevin Cruijssen
The \n|.Versi tidak bekerja dengan benar dengan masukan "\r". The (?s).Versi bekerja dengan benar dengan \r, meskipun.
Olivier Grégoire
Persyaratan sekarang mengatakan ASCI dalam kisaran 32-126, sehingga Anda dapat bermain golf hingga 30 dengan pintasan @ EmbodimentofIgnorance.
Olivier Grégoire
1
Ups, kadang-kadang saya lupa bahwa \nitu dapat dicetak tetapi bukan bagian dari rentang yang dapat dicetak ASCII.
Olivier Grégoire
4

Pyth , 2 byte

.i

Cobalah online!

.interleaves dua salinan input bersama. Inputnya implisit, jadi versi 'penuh' dari program ini adalah .iQQ, di mana Qinput program.

Sok
sumber
4

MarioLANG , 23 20 17 byte

>,
"+
.[
.<
!-
#=

Cobalah online!

Tidak seperti brainfuck, MarioLANG mengembalikan -1 pada EOF, jadi kita harus meningkatkan nilai yang dibaca sebelum membandingkannya dengan nol, dan kemudian mengurangi sebelum mencetaknya. Ini mungkin jawaban sesingkat mungkin dalam MarioLANG.

Charlie
sumber