3 added 1457 characters in body
0000000: 31 30 31 2c 22 5a 0a d0 fd 64 f6 07 a3 81 30 f2 c2 a5 60  101,"Z...d....0...
00000130000010: c2 a5 60 0c 59 0f 14 3c 01 dd d1 69 7d 66 47 6e db 54 e5 8f 85 97  ...Y..<...i}fGn.T....
00000260000020: db 54 e5 8f 85 97 de b9 79 11 35 34 21 cb 26 c3  .T......y.54!.&.
0000030: f0 36 41 2b b4 51 fb 98 48  ..y.54!.&..6A+.Q..H
0000039: fc cb 52 75 1f 1d b1  .6A+.Q..H..Ru...
0000040: 6b c3 0c d9 0f 22 32 36 30 62 33 36 62 ..Ru...66 7b 3c  k...."260b36"260b36bf{<
000004c0000050: 62 66 7b 3c 31 62 5b 32 35 6d 64 5d2d 35 35 7d 27 41 66 2b 4e 7d     bf{<1b[25md]'Af+N 1b25md-55}'Af+


The above is a reversible hexdump, which can be reversed with xxd -r -c 16 -g 1.

Try it online in the CJam interpreterCJam interpreter.

Depending on what exactly counts as separated somehow, the byte count could be lowered to 93 or even 92:

• If we replace -55 with 59, the words will be separated by non-breaking spaces (0xA0).

• If we replace -55 with W, the words will be separated by at-signs (0x40).

### Idea

We can encode each pair of letters xy as (ord(x) - 65) × 25 + (ord(y) - 65).1

Instead of storing the resulting integers, we'll store the differences of all pairs that correspond to two adjacent words (sorted alphabetically).

The highest difference is 35, so we consider them digits of a base 36 integer and convert that integer into a a byte string.

### Code

101,   e# Push [0 ... 100].
"…"    e# Push the string that encodes the differences/increments.
260b   e# Convert from base 260 to integer.
36b    e# Convert from integer to base 36 (array).
f{     e# For each I in [0 ... 100]:
e#   Push the base 36 array.
<    e#   Keep it's first I elements.
1b   e#   Compute their sum.
25md e#   Push quotient and residue of the sum's division by 25.
-55  e#   Push -55 = '\n' - 'A'.
}      e#
'Af+   e# Add 'A' to all resulting integers. This casts to Character.


1 Since the second letter is never a Z, using 25 instead of 26 is enough.

0000000: 31 30 31 2c 22 5a 0a d0 fd 64 f6 07 a3 81 30 f2 c2 a5 60  101,"Z...d....0...
0000013: 0c 59 0f 14 3c 01 dd d1 69 7d 66 47 6e db 54 e5 8f 85 97  .Y..<...i}fGn.T....
0000026: de b9 79 11 35 34 21 cb 26 c3 f0 36 41 2b b4 51 fb 98 48  ..y.54!.&..6A+.Q..H
0000039: fc cb 52 75 1f 1d b1 6b c3 0c d9 0f 22 32 36 30 62 33 36  ..Ru...k...."260b36
000004c: 62 66 7b 3c 31 62 5b 32 35 6d 64 5d 27 41 66 2b 4e 7d     bf{<1b[25md]'Af+N}


The above is a reversible hexdump. Try it online in the CJam interpreter.

0000000: 31 30 31 2c 22 5a 0a d0 fd 64 f6 07 a3 81 30 f2  101,"Z...d....0.
0000010: c2 a5 60 0c 59 0f 14 3c 01 dd d1 69 7d 66 47 6e  ...Y..<...i}fGn
0000020: db 54 e5 8f 85 97 de b9 79 11 35 34 21 cb 26 c3  .T......y.54!.&.
0000030: f0 36 41 2b b4 51 fb 98 48 fc cb 52 75 1f 1d b1  .6A+.Q..H..Ru...
0000040: 6b c3 0c d9 0f 22 32 36 30 62 33 36 62 66 7b 3c  k...."260b36bf{<
0000050: 31 62 32 35 6d 64 2d 35 35 7d 27 41 66 2b        1b25md-55}'Af+


The above is a hexdump, which can be reversed with xxd -r -c 16 -g 1.

Try it online in the CJam interpreter.

Depending on what exactly counts as separated somehow, the byte count could be lowered to 93 or even 92:

• If we replace -55 with 59, the words will be separated by non-breaking spaces (0xA0).

• If we replace -55 with W, the words will be separated by at-signs (0x40).

### Idea

We can encode each pair of letters xy as (ord(x) - 65) × 25 + (ord(y) - 65).1

Instead of storing the resulting integers, we'll store the differences of all pairs that correspond to two adjacent words (sorted alphabetically).

The highest difference is 35, so we consider them digits of a base 36 integer and convert that integer into a a byte string.

### Code

101,   e# Push [0 ... 100].
"…"    e# Push the string that encodes the differences/increments.
260b   e# Convert from base 260 to integer.
36b    e# Convert from integer to base 36 (array).
f{     e# For each I in [0 ... 100]:
e#   Push the base 36 array.
<    e#   Keep it's first I elements.
1b   e#   Compute their sum.
25md e#   Push quotient and residue of the sum's division by 25.
-55  e#   Push -55 = '\n' - 'A'.
}      e#
'Af+   e# Add 'A' to all resulting integers. This casts to Character.


1 Since the second letter is never a Z, using 25 instead of 26 is enough.

2 deleted 255 characters in body

# CJam, 9696 94 bytes

"2rºZ­ß¶èþt¤p/Fz¡¨ÍZ·nâ0000000: 31 30 31 2c 22 5a 0a d0 fd 64 f6 07 a3 81 30 f2 c2 a5 60  101,"Z.s..d....0...
0000013: ã©ÂÑXìBEPù­£só0c 59 0f 14 3c 01 dd d1 69 7d 66 47 6e db 54 e5 8f 85 97  .ÆÕ¤¾;Ép"256b38b{U[26md]'Af+N@U+Y..<...i}fGn.T....
0000026:U; de b9 79 11 35 34 21 cb 26 c3 f0 36 41 2b b4 51 fb 98 48  ..y.54!.&..6A+.Q..H
0000039: fc cb 52 75 1f 1d b1 6b c3 0c d9 0f 22 32 36 30 62 33 36  ..Ru...k...."260b36
000004c: 62 66 7b 3c 31 62 5b 32 35 6d 64 5d 27 41 66 2b 4e 7d     bf{<1b[25md]'Af+N}/


The above code contains unprintable charactersis a reversible hexdump.

Try it online: permalink for Chrome | in the permalink for FirefoxCJam interpreter.

# CJam, 96 bytes

"2rºZ­ß¶èþt¤p/Fz¡¨ÍZ·nâ.s ã©ÂÑXìBEPù­£só.ÆÕ¤¾;Ép"256b38b{U[26md]'Af+N@U+:U;}/


The above code contains unprintable characters.

# CJam, 96 94 bytes

0000000: 31 30 31 2c 22 5a 0a d0 fd 64 f6 07 a3 81 30 f2 c2 a5 60  101,"Z...d....0...
0000013: 0c 59 0f 14 3c 01 dd d1 69 7d 66 47 6e db 54 e5 8f 85 97  .Y..<...i}fGn.T....
0000026: de b9 79 11 35 34 21 cb 26 c3 f0 36 41 2b b4 51 fb 98 48  ..y.54!.&..6A+.Q..H
0000039: fc cb 52 75 1f 1d b1 6b c3 0c d9 0f 22 32 36 30 62 33 36  ..Ru...k...."260b36
000004c: 62 66 7b 3c 31 62 5b 32 35 6d 64 5d 27 41 66 2b 4e 7d     bf{<1b[25md]'Af+N}


The above is a reversible hexdump. Try it online in the CJam interpreter.

1

# CJam, 96 bytes

"2rºZ­ß¶èþt¤p/Fz¡¨ÍZ·nâ.s ã©ÂÑXìBEPù­£só.ÆÕ¤¾;Ép"256b38b{U[26md]'Af+N@U+:U;}/


The above code contains unprintable characters.