Print the Greek national anthem

8

1

In March 25, 1821, Greece fought its great war of independence. In order to honor this, your task is to print the Greek national anthem:

Σε γνωρίζω από την κόψη
του σπαθιού την τρομερή.
Σε γνωρίζω από την όψη
που με βιά μετράει τη γη.
Απ' τα κόκκαλα βγαλμένη,
των Ελλήνων τα ιερά!
Και σαν πρώτα ανδρειωμένη,
χαίρε ω χαίρε Λευτεριά!
Και σαν πρώτα ανδρειωμένη,
χαίρε ω χαίρε Λευτεριά!
Και σαν πρώτα ανδρειωμένη,
χαίρε ω χαίρε Λευτεριά!

This is my own version of the anthem (punctuation, capitalization), although the lyrics are the original.

  • Any builtins printing or returning this text are forbidden, just in case.
  • The printed text must be exactly as above, with an optional trailing newline.
  • The output must be in UTF-8, unless it can't be supported at all, in which case the output must be encoded in the closest supported alternative.

Erik the Outgolfer

Posted 2017-03-24T18:29:15.487

Reputation: 38 134

6"Any builtins printing or returning this text are forbidden" - I'm looking at you, Mathematica! – steenbergh – 2017-03-24T18:36:06.240

@steenbergh This might be sufficiently different because of the 2-byte Unicode chars involved. – ETHproductions – 2017-03-24T18:40:27.040

2@ETHproductions imho it's the same, but more restrictive towards the languages eligible to compete... – steenbergh – 2017-03-24T18:41:48.003

4I don't suppose any of the golf langs have dictionaries of foreign words, yet? Tisk tisk. – mbomb007 – 2017-03-24T18:43:06.870

4

I'm fairly certain nearly all languages can output this text in UTF-8. For example, Σ in ISO-8859-1, when interpreted in UTF-8, is Σ. (Useful tool)

– ETHproductions – 2017-03-24T18:45:00.427

Can we shop marking these as dupes of the rick roll? This is not a dupe. – Okx – 2017-03-24T19:19:21.350

@Okx It's pretty similar. – Mike Bufardeci – 2017-03-24T19:30:13.927

3

@Okx https://codegolf.meta.stackexchange.com/a/6957/45941

– Mego – 2017-03-24T19:44:44.613

Is UTF-16 output acceptable? – Conor O'Brien – 2017-03-25T17:33:41.077

@ConorO'Brien Only if UTF-8 isn't supported (i.e. your solution is probably valid). – Erik the Outgolfer – 2017-03-25T17:45:48.557

Answers

7

Jelly, 180 174 163 bytes

60r26;“WSNME‘ȷ_Ọ;“ ¶.',!”“¢Iç÷ṀDė3H⁷'UBV“ñẸḣY]ṭżẸ-dƒjṭ{^ṣ8ḞkƊK“ẈḊbƝÑk?Æ.)Aɱ3ẎƬṠ⁵ʂ÷Gẏp⁴ṇ1ẸR ¬,F°0>ST$[?ṘȦŀẎcFẈṃijȯÆḋ“¦ḟw2ðƊhSẏ¥ẏ5ƒẉɦ⁺Ʋ⁴Ɓ¦ÞIzƥṙḊOḊ-÷~øWḤ0ṃ’ṃ€6676ḃ4¤ị

Try it online!

Dennis

Posted 2017-03-24T18:29:15.487

Reputation: 196 637

There is some really hard golfing going on (......ṃ€......)... Congrats for the shortest answer (that deserves more upvotes)! – Erik the Outgolfer – 2017-03-30T16:03:51.357

4

Python 3, 263 bytes

s="BT R\h`NUh P_k cV\ %skgV\n"
print(''.join(i if 47>ord(i)else chr(ord(i)+865)for i in s%"Y"+"c^d b_PWX^l cV\ c`^[T`M.\n"+s%""+"_^d [T QXK [Tc`KTX cV RV.\n0_' cP YkYYPZP QRPZ[L\V,\nch\ 4ZZM\h\ cP XT`K!"+"\n9PX bP\ _`mcP P\S`TXh[L\V,\nfPN`T h fPN`T :TdcT`XK!"*3))

Try it online!
Use the same repetition technique that mbomb007 used, but I replaced all characters higher than 47 (all greek letters), u913~u974 with u48~u109 ,and then undo this before printing

Rod

Posted 2017-03-24T18:29:15.487

Reputation: 17 588

4

Java 7, 320 319 300 294 293 bytes

void Z(){String a="AS Q[g_MTg O^j bU[ ",b="8OW aO[ ^_lbO O[R_SWgZK[U,\neOM_S g eOM_S 9ScbS_WJ!\n";for(char C:(a+"XjfU\nb]c a^OVW]k bU[ b_]ZS_L.\n"+a+"jfU\n^]c ZS PWJ ZSb_JSW bU QU.\n/^' bO XjXXOYO PQOYZK[U,\nbg[ 3YYL[g[ bO WS_J!\n"+b+b+b).toCharArray())System.out.print((char)(C>46?C+866:C));}

Try it online!

This outputs the anthem with a trailing newline. I converted the function from returning a String to a void so that it would print the String instead of returning it and save bytes.

Will golf further in the morning Golfers don't sleep :P

Explanation (outdated)

String Z(){
  // X contains the value of the Greek Anthem
  String X="",
  // a and b contain some repeated parts of the anthem
         a="AS Q[g_MTg O^j bU[ ",
         b="8OW aO[ ^_lbO O[R_SWgZK[U,\neOM_S g eOM_S 9ScbS_WJ!\n";
  // Then we loop over every char in this string
  for(char C: (a+"XjfU\nb]c a^OVW]k bU[ b_]ZS_L.\n"+a+"jfU\n^]c ZS PWJ ZSb_JSW bU QU.\n/^' bO XjXXOYO PQOYZK[U,\nbg[ 3YYL[g[ bO WS_J!\n"+b+b+b).toCharArray())
    // Adding 866 to the char if it is greater than `.` 46
    // (we also want to preserve the punctuation)
    X+=(char)(C>46?C+866:C);
  return X;
}

To get to this reduced String, I manually checked subtracting which numbers from the code points would be the best. These values would have to lie between and ~. In order to make the detection of whether a char is punctuation (., ', !, ) or not, it would be best if all the values lied above . (46). And there shouldn't be any \s in the String because otherwise Java thinks they are escape sequences, and so I have to escape them. Finally I came up with subtracting 866 from the Greek characters.

user41805

Posted 2017-03-24T18:29:15.487

Reputation: 16 320

Why not make it a Lambda? – Pavel – 2017-03-24T20:52:40.243

@ГригорийПерельман Because it's Java 7 :P – user41805 – 2017-03-25T05:32:09.030

1@ГригорийПерельман Because the output includes a lambda character and lambdas in lambdas go horribly wrong – Matthew Roh – 2017-03-25T17:40:26.300

3

Python 3, 350 345 bytes

s="Σε γνωρίζω από την %sόψη\n"
print(s%'κ'+"του σπαθιού την τρομερή.\n"+s%''+"που με βιά μετράει τη γη.\nΑπ' τα κόκκαλα βγαλμένη,\nτων Ελλήνων τα ιερά!"+"\nΚαι σαν πρώτα ανδρειωμένη,\nχαίρε ω χαίρε Λευτεριά!"*3)

Try it online

mbomb007

Posted 2017-03-24T18:29:15.487

Reputation: 21 944

You can remove sep for -5 bytes – Rod – 2017-03-24T18:46:02.110

3

PowerShell, 332 270 261 bytes

-join([char[]]"$(($a='=O MWc[IPc KZf ^QW')) TfbQ
^Y_ ]ZKRSYg ^QW ^[YVO[H.
$a fbQ
ZY_ VO LSF VO^[FOS ^Q MQ.
+Z' ^K TfTTKUK LMKUVGWQ,
^cW /UUHWcW ^K SO[F!
$('4KS ]KW Z[h^K KWN[OScVGWQ,
aKI[O c aKI[O 5O_^O[SF!
'*3)"|%{([char](870+$_),$_)[+$_-in10,32,33,39,44,46]})

Try it online!

This takes the munged string as a char-array, feeds it one at a time through a loop |%{...} each iteration either outputting the character straight $_ or incrementing it by 870 before re-casting as a char (based on whether it's a punctuation or not). A few other tricks sets $a as a repeat phrase, and de-triplicates the last three stanzas. Those are all -joined together into a full string and then output is implicit.

Edit - Woo! This is the 1100th PowerShell answer on the site! :D

AdmBorkBork

Posted 2017-03-24T18:29:15.487

Reputation: 41 581

It's only the 12th answer? ;) – Conor O'Brien – 2017-03-24T21:06:44.507

Your latest version produces the proper output. It seems that PowerShell converts the code to UTF-8 (even if it's UTF-8 encoded) before processing it. – Dennis – 2017-03-25T01:35:41.243

@Dennis Kinda. Everything under the hood in PowerShell is UTF-16 encoded, so there likely is indeed conversion going on.

– AdmBorkBork – 2017-03-27T12:42:25.623

3

Windows 10 Batch, 424 404 bytes

@chcp>nul 65001
@set s="Σε γνωρίζω από την κόψη"
@set t="Και σαν πρώτα ανδρειωμένη," "χαίρε ω χαίρε Λευτεριά!"
@for %%l in (%s% "του σπαθιού την τρομερή." %s:κ=% "που με βιά μετράει τη γη." "Απ' τα κόκκαλα βγαλμένη," "των Ελλήνων τα ιερά!" %t% %t% %t%) do @echo %%~l

Notes:

  • Don't use Notepad to save this, it will add a BOM which will cause the script to fail.
  • The chcp call fails if your Command Prompt is configured to use Raster Fonts. Change them to e.g. Lucida Console (does not require restart).
  • The batch file seems to require a reasonably new version of Windows; Windows XP wasn't at all happy with chcp 65001.

Edit: Saved 20 bytes thanks to @ConorO'Brien.

Neil

Posted 2017-03-24T18:29:15.487

Reputation: 95 035

isn't this only 420 bytes? – Mr. Xcoder – 2017-03-24T21:12:52.860

@Mr.Xcoder My Windows text editor uses MS-DOS line endings, and I can't be bothered to claim the small saving. – Neil – 2017-03-24T21:40:06.130

Why not just @set t="Και σαν πρώτα ανδρειωμένη," "χαίρε ω χαίρε Λευτεριά!" and replace %t% %u% with %t%? – Conor O'Brien – 2017-03-24T21:50:51.243

@ConorO'Brien That's just genius. Thanks! – Neil – 2017-03-24T22:08:04.910

3

Bubblegum, 190 bytes

0000000: d5 8e b5 61 04 51 10 43 f3 ad 62 9c 98 ed 16 cd  ...a.Q.C..b.....
0000010: cc 4c a1 c3 e3 bb 65 ec 40 6a c9 9a 6f cc 1c df  .L....e.@j..o...
0000020: f2 8c a4 b7 c2 3b 12 c3 0c 0d 4f b8 83 11 52 9e  .....;....O...R.
0000030: 18 26 dc e6 b9 71 1f 19 1a 43 c9 73 1e 23 8b 34  .&...q...C.s.#.4
0000040: 77 3c 30 ee 71 1b 13 e4 28 34 5e 7c b9 f4 52 bc  w<0.q...(4^|..R.
0000050: 43 8d 44 ef e1 66 f4 3f f7 9b ba 1d a8 9e 34 4c  C.D..f.?......4L
0000060: 05 ed 87 ef c0 eb 23 41 11 fc 8e ca 44 bd e1 f6  ......#A....D...
0000070: 92 2f 26 a1 16 4a 9d 13 54 3e 4e e5 d0 a7 b2 03  ./&..J..T>N.....
0000080: 34 c8 d6 55 97 27 5e ff 01 95 ce 21 1a 1f bf b2  4..U.'^....!....
0000090: 45 a8 d9 5f 88 f0 8a 89 ff 62 4f 2f 89 db dc e1  E.._.....bO/....
00000a0: 65 b0 f8 8c 58 26 35 50 f0 97 7a 24 65 e4 7b e3  e...X&5P..z$e.{.
00000b0: 89 fd 99 f0 26 e6 81 b2 4e 2e e6 99 fd 01        ....&...N.....

Try it online!

Dennis

Posted 2017-03-24T18:29:15.487

Reputation: 196 637

2

Japt, 197 196 195 bytes

`0fxtc
pkq ol]¸ky2ci2mk?mZ.
0xtc
lkq ? ^eX ?pmXae2c _c.
=l'2] fxff]g] ^_]g1pui AggZiui2] eamX!`+`
F]e o]i lmzp] ]i\`µeu1s][µ u s][µ Gaqpa´X!`³ d0`Oa _ium[¿ ]lx2ci `1`hYic,
`2" p""[=F-~]"_c +852 d

Test it online! Contains three 0x95 bytes which have been replaced with ?.

ETHproductions

Posted 2017-03-24T18:29:15.487

Reputation: 47 880

Are there unprintables in this? – Conor O'Brien – 2017-03-24T21:05:02.107

@ConorO'Brien Yep, clarified – ETHproductions – 2017-03-24T21:11:51.903

2

///, 324 323 bytes

/P/ρ//p/π//n/η//z/Σε γνωρίζω από τnν //k/Και σαν pPώτα ανδPειωμένn,
χαίPε ω χαίPε ΛευτεPιά!/zκόψn
του σπαθιού τnν τPομεPή.
zόψn
pου με βιά μετράει τn γn.
Αp' τα κόκκαλα βγαλμένn,
των Ελλήνων τα ιεPά!kkk

Try it online!

Maybe it could be golfed more, but I'm tired.

It works by replacing characters like k with longer text. I also made some character substitutions, because the Greek characters have more bytes than characters like p. Simple enough.

-1 byte thanks to @ErictheOutgolfer.

Comrade SparklePony

Posted 2017-03-24T18:29:15.487

Reputation: 5 784

You have an unnecessary newline after ΛευτεPιά!/, you can remove it so that the output doesn't have a leading newline. – Erik the Outgolfer – 2017-03-25T16:11:56.377

@EriktheOutgolfer Done, thanks. – Comrade SparklePony – 2017-03-26T15:25:20.513

1

Python 2.7, 190 bytes

zlib abuse. Hexdump:

00000000: efbb bf70 7269 6e74 2278 9cbd 8cb1 0e82  ...print"x......
00000010: 4010 44fb fb8a b5b2 31fc 7f6b 61a3 252d  @.D.....1..ka.%-
00000020: 4216 5ccf e5b8 701b 96e8 2568 5ca5 b4b7  B.\...p...%h\...
00000030: 7ac9 cc9b 2909 ba98 a5b9 66c0 b480 fa08  z...).....f.....
00000040: fdf2 f04e c719 a684 371e 9fdf 5065 1c48  ...N....7...Pe.H
00000050: eac2 95bf 838f 9fcc 1f08 5aae 0c2a 15b1  ..........Z..*..
00000060: 55d0 f9c2 edd3 1614 edb5 ef31 20b4 1d86  U..........1 ...
00000070: e11c fdce 698e 7008 a18e 4613 98a4 dab8  ....i.p...F.....
00000080: 2332 4c18 21c9 cb32 8c17 21ce ab7f c746  #2L.!..2..!....F
00000090: 0832 ac3c d1ac 24fc afc9 1bcf bfdc ec22  .2.<..$........"
000000a0: 2e64 6563 6f64 6528 227a 6970 2229 2e64  .decode("zip").d
000000b0: 6563 6f64 6528 2267 7265 656b 2229       ecode("greek")

As @Dennis points out, this needs to be run in a terminal in order for it to correctly produce UTF-8 output.

nneonneo

Posted 2017-03-24T18:29:15.487

Reputation: 11 445

How do you make this work? I get a UnicodeEncodeError.

– Dennis – 2017-03-25T15:20:33.663

@Dennis TIO's Python 2 is pretty bad compared to repl.it for example. Repl.it works if the source contains non-ASCII and you don't specify another encoding at the top. So try using Ideone and repl.it. – mbomb007 – 2017-03-25T16:31:55.923

@mbomb007 If these online interpreters make any modifications to the source code before running the interpreter, they've created a new language for the purposes of PPCG. In any case, the first three bytes of this answer are a UTF-8 byte-otder mark, but the source code is not valid UTF-8. – Dennis – 2017-03-25T16:49:41.173

@Dennis: I have my terminal set to UTF-8. I believe the TIO error is from the virtual terminal being set to ASCII - adding a echo -ne '.encode("utf8")' >> code.py line in the middle resolves the issue. I don't think relying on a UTF-8 terminal is too crazy, but if it is then I'll amend the answer. – nneonneo – 2017-03-25T21:20:18.600

If your answer works in one setup, it is valid; no arguments. My conversation with @mbomb007 was based on my misguided assumption that Python couldn't process the source file, but as you correctly pointed out, the decoding step is what's causing problems. The issue doesn't seem to be as simple as tweaking some settings though. Everything on TIO uses UTF-8 default, including Python. – Dennis – 2017-03-25T21:51:56.340

After some testing on my local machine, I discovered that python anthem.py works just fine, but python anthem.py | cat does not, so it looks like Python produces one kind of output if STDOUT is a TTY and another kind if not. The current setup doesn't allow creating PTYs, but I'll see if I can fix that. As far as your answer goes, I'd make a remark that it has to be run in a terminal. – Dennis – 2017-03-25T21:52:14.363

1

Bash + GNU iconv, 214

a="�� ������� ��� ��� "
l="
��� ��� ����� �����������,
����� � ����� ��������!"
iconv -f GREEK<<<"$a����
��� ������� ��� �������.
$a���
��� �� ��� ������� �� ��.
��' �� ������� ��������,
��� ������� �� ����!$l$l$l"

This just uses the iconv utility to convert from the GREEK encoding (byte per char) to utf-8, along with removing a bit of redundancy by storing repetitions in variables.

Don't try to copy directly from the above - lots of unprintables get munged when pasting. Instead, create the script as follows:

base64 -d << EOF > greek.sh
YT0i0+Ug4+358d/m+SDh8Pwg9OftICIKbD0iCsrh6SDz4e0g8PH+9OEg4e3k8eXp+ezd7ecsCvfh
3/HlIPkg9+Hf8eUgy+X19OXx6dwhIgppY29udiAtZiBHUkVFSzw8PCIkYer8+OcK9O/1IPPw4ejp
7/0g9OftIPTx7+zl8d4uCiRh/PjnCvDv9SDs5SDi6dwg7OX08dzl6SD05yDj5y4KwfAnIPThIOr8
6urh6+Eg4uPh6+zd7ecsCvT57SDF6+ve7fntIPThIOnl8dwhJGwkbCRsIg==
EOF

Digital Trauma

Posted 2017-03-24T18:29:15.487

Reputation: 64 644

The space in -f GREEK is not required. Using a heredoc instead of a herestring saves an additional byte. – Dennis – 2017-03-26T14:42:07.653

1

PHP, 296 Bytes

<?=gzinflate(base64_decode("1Y+9DoJAEIR7Et7hrGyMz3gEiJKgiYWNlrYIAUXkL7zB7Cs5e0ZDZ22u2Nvdme/mcEFtcMMoiQQo8JDEoBQrqZEIDUaDTlLZovE9DiaJjYRiUeKJlu3uI5OI/gkDatZ87Xv4Sf5yreOq16AiNnN3R8xQo3UGZTXKPYhd6qR00dDxlOi1rSjR64ArRjQrjSyJ/uHIaY9cw7isqm5d1GxB5Ik2vhKycGslkP1bwx53qhiCzhl3w1WhC8NvzTqcSY1pVnb75/QX"));

PHP, 349 Bytes

echo$y="Σε γνωρίζω από την"," κόψη\nτου σπαθιού την τρομερή.\n$y όψη\nπου με βιά μετράει τη γη.\nΑπ' τα κόκκαλα βγαλμένη,\nτων Ελλήνων τα ιερά!\n".$z="Και σαν πρώτα ανδρειωμένη,\nχαίρε ω χαίρε Λευτεριά!\n",$z.$z;

Jörg Hülsermann

Posted 2017-03-24T18:29:15.487

Reputation: 13 026

1

Retina, 199 bytes


:pkq olWdeky=ci=mkhamT._:lkq ha XeR hapmRae=c Yc._0l'=W fxffWgW XYWghSic,_pui 4ggTiui=W eamR!###
:
Ia YiumUbu Wlx=ci fxtc_
#
_9We oWi lmzpW WiZmaeuhSic,_;u ;AaqpameR!
=
 p
;
sWUma 
2=`f

T`w`¶Α-ώ

Try it online!

Woohoo, just under 200 bytes.

Explanation

The main idea is to avoid the actual Unicode characters for the most part, because they just blow up the byte count if they are used everwhere. Instead, I represent each Greek letter by an ASCII letter or digit. It turns out that the relevant letters from Α (that's an alpha) to ώ span exactly 62 code points. That's 10 + 26 + 26, the number of ASCII digits and letters. The other Unicode character we've got is , which Retina uses to represent linefeeds. We can save a few more bytes by replacing that with _. Then the shorthand w in transliteration stages contains exactly the 63 characters we've used as substitutions, and we can represent the range this is mapped to using only 3 2-byte characters ( and the two ends of the Greek letter range).

Hence, the code is fairly illegible for the most part, since this substitution is done in the very last stage. Let's undo this to make a bit more sense of the code:


:του σπαθιού=ην=ρομερή.¶:που με βιά μετράει=η γη.¶Απ'=α κόκκαλα βγαλμένη,¶των Ελλήνων=α ιερά!###
:
Σε γνωρίζω από=ην κόψη¶
#
¶Και σαν πρώτα ανδρειωμένη,¶;ω ;Λευτεριά!
=
 τ
;
χαίρε 
2=`κ

That looks a bit more like the stuff we want to output. The very first stage simply sets up the overall framework. It contains all the unique parts of the output as well as some more placeholders for repeated parts:

  • : stands for the first and third line. They end up being slightly different, because the κ is missing from the third line, which is why the very last stage removes the second κ in the result.
  • # stands for the last two lines, which are repeated three times.
  • ; stands for the repeated χαίρε in those lines.
  • = stands for a word beginning with τ (and the space preceding it). There are just enough of those for this to save a single byte.

Martin Ender

Posted 2017-03-24T18:29:15.487

Reputation: 184 808

0

Bubblegum, 194 187 bytes

00000000: d58e 3542 0541 1005 f33d c590 e070 45dc  ..5B.A...=...pE.
00000010: dd2d 2444 d77d f706 f5ae c4f4 a019 f18f  .-$D.}..........
00000020: daab 8b47 7247 4aaf 3dad f146 a13d 47ac  ...GrGJ.=..F.=G.
00000030: 551d 3a6d 52d2 3b1a 1d6a 9732 f2f5 a82d  U.:mR.;..j.2...-
00000040: a70d ad12 5351 fbf2 e87b 4b9b 5a63 a423  ....SQ...{K.Zc.#
00000050: d71a afcb d1ff dc6f ea6a a0da a523 a1e6  .......o.j...#..
00000060: 39e4 81f7 4c4e 1df6 0d55 7aea 9956 67ac  9...LN...Uz..Vg.
00000070: 1107 2d1a 1a62 5a2b 13d2 9076 bcd0 532e  ..-..bZ+...v..S.
00000080: 7a5d ed99 fe15 2d2d aff4 567e ddd6 e486  z]....--..V~....
00000090: 9f8a b827 b617 1bc4 365c d59a 8ec3 8ad5  ...'....6\......
000000a0: 645a 3303 edfd a1ee 10f3 667d a73d f7a7  dZ3.......f}.=..
000000b0: e281 5c5b da0c e47a 92d9 1f              ..\[...z...

You can reverse this hexdump with xxd -r.

Thanks Dennis for redirecting me to Zopfli :)

Erik the Outgolfer

Posted 2017-03-24T18:29:15.487

Reputation: 38 134

9Give someone else a chance to post, will ya? – mbomb007 – 2017-03-24T18:32:00.923

@mbomb007 OP is just a normal competitor, so I let anyone beat me :P – Erik the Outgolfer – 2017-03-25T07:50:51.763

2You should've waited a couple days before posting your solution, giving someone else a chance to try that language. It's not cool to post a challenge and post a really short answer immediately after. – mbomb007 – 2017-03-25T16:30:10.697

0

Jolf, 187 bytes

Being encoded in the greek codepage helps.

ΆΆγ"Σε γνωρίζω από την κόψη
'του σπαθιού την τρομερή.
"-γ'κ«που με βιά μετράει τη γη.
Απ' τα κόκκαλα βγαλμένη,
των Ελλήνων τα ιερά!
»*3"Και σαν πρώτα ανδρειωμένη,
χαίρε ω χαίρε Λευτεριά!

Try it here! It's all greek to me...

Conor O'Brien

Posted 2017-03-24T18:29:15.487

Reputation: 36 228

The output must be in UTF-8. Is that even possible with in-browser interpreters? As far as I know, in-browser JavaScript uses UTF-16. – Dennis – 2017-03-25T13:07:05.230

@Dennis I asked the OP for clarification, and he said that it's probably ok

– Conor O'Brien – 2017-03-25T18:29:09.373

0

Python 3, 246 bytes

q=b'Qc akwo]dw _nz rek '
print(''.join(chr(b+b//63*850)for b in
q+b'hzve\nrms qn_fgm{ rek romjco\.\n'+q+b"zve\nnms jc `gZ jcroZcg re ae.\n?n' r_ hzhh_i_ `a_ij[ke,\nrwk Cii\kwk r_ gcoZ!"+b'\nH_g q_k no|r_ _kbocgwj[ke,\nu_]oc w u_]oc IcsrcogZ!'*3))

Try it online!

My take on Rod’s approach.

Lynn

Posted 2017-03-24T18:29:15.487

Reputation: 55 648