[Question]
  [
The goal of this challenge is to print the following tongue twister:
```
She sells seashells by the seashore,
The shells she sells are seashells, I'm sure.
So if she sells seashells on the seashore,
Then I'm sure she sells seashore shells.
```
This is more complicated than just calling your language's `print` equivalent. Since there are a lot of repeated words and phrases, you can greatly decrease the size of your code by using other tactics.
**Rules:**
* No querying another website which will respond with the full twister
* You must include all the punctuation and line breaks in the original text.
* You can end with a trailing newline
**This is [code-golf](/questions/tagged/code-golf "show questions tagged 'code-golf'"), so the shortest code wins!**
**Good luck!**
  
[Answer]
# [Python 3](https://docs.python.org/3/), ~~166~~ \$\cdots\$ ~~142~~ 135 bytes
Saved a whopping ~~13~~ 18 bytes thanks to [ovs](https://codegolf.stackexchange.com/users/64121/ovs)!!!  
Saved 4 bytes thanks to [user253751](https://codegolf.stackexchange.com/users/11600/user253751)!!!  
Saved a byte thanks to [branboyer](https://codegolf.stackexchange.com/users/94107/branboyer)!!!  
Saved 7 bytes thanks to [dingledooper](https://codegolf.stackexchange.com/users/88546/dingledooper)!!!
Note: There's lots of unprintables in the following code so please avert your eyes if you're sensitive to such things! :D
```
print("Sh by are,.\nSo if onnore.".translate("| seash|ells|ore,\nThe| sh|e s| I'm sure| the".split("|")))
```
[Try it online!](https://tio.run/##Hc2xCsMgFIVhtCZ9jYtLIwSXPkXmdMxi4RYFexWvHQK@u7Udz/cPJ5/VJ7r3nkuguujdT1JIeJ5XcVFSTRJcQSHX2R60Jwgv9e@JRqf5N1JBJa22tTji6CouugGjY98wRm6jrwc9PA4dBNxgu72BP2VI9agt5xjGddPGmN6/ "Python 3 – Try It Online")
Based on [Netråm](https://codegolf.stackexchange.com/users/87760/netr%c3%a5m)'s [C# answer](https://codegolf.stackexchange.com/a/206623/9481).
[Answer]
# [Retina 0.8.2](https://github.com/m-ender/retina/wiki/The-Language/a950ad7d925ec9316e3e2fb2cf5d49fd15d23e3d), ~~106~~ 103 bytes
```
S230 by41h012 are30,5.¶So if1230 on4n5123ore1h0.
5
 I'm1ure
4
 the3ore,¶The
3
1eash
2
he10
1
 s
0
ells
```
[Try it online!](https://tio.run/##Fcq9DYMwEIbh/pviujQI3flnCGqygCNddEhgSzYpshgDsJiB7pWet@q@5NQ7ZueZPv8gxuIoVfU8xPE85kLLVx4sOeR4V6l6TyMiaHpt8quKANpNHxnO420KD9HUDA6mwhBQA0PXtfV@AQ "Retina 0.8.2 – Try It Online") Explanation: In Retina, a substitution only makes sense if it's long enough `l` for the number `n` of repetitions. The substitution saves `n(l-1)` bytes in the compressed text but costs `l+3` bytes in the replacement stages. This gives the minimum length required to be useful as follows:
* 2 repetitions: length > 5
* 3 repetitions: length > 3
* 4 repetitions: length > 3
* 5 repetitions: length > 2
* 6+ repetitions: length > 1
Edit: As @Arnauld pointed out, you can count repetitions from the substitution entries as well. This means that although there were only 5 repetitions of space+s in my previous encoded text, there are also 3 repetitions in the substitutions, thus allowing me to save 3 bytes overall. (@Arnauld himself had only spotted 2 of the 3 repetitions.)
[Answer]
# JavaScript (ES6), ~~142~~ 141 bytes
*Saved 1 byte thanks to @Neil*
```
_=>`246 / I'm5ure/he56/ the4ore,
The/5eash/ s/ells`.split`/`.reduce((s,p,i)=>s.split(i).join(p),`S0by35h652 are46,1.
So if50on3n1524ore5h6.`)
```
[Try it online!](https://tio.run/##Jc27DsIgGEDhvU/BJiQIvcHW7s51F2z/Cg0CgdbEp0eN8/mSs@mXznOycT/7sEBZh3IbRtX2EnF0OT3FkYAbEJKj3UAfEtDqaoAL0NlwlDk4lxXL0dldccUSLMcMGGcaqSXDmP8JW8K2YD2OhKqpvr87YaRokU7QS9qwagrIrqIOvvONaH@fL2CKlDn4HBwwFx54xYSUDw "JavaScript (Node.js) – Try It Online")
### Compression steps
```
**"ells" -> "6" (9 occurences, saved: 22 bytes)**
She s6 seash6 by the seashore,
The sh6 she s6 are seash6, I'm sure.
So if she s6 seash6 on the seashore,
Then I'm sure she s6 seashore sh6.
**" s" -> "5" (17 occurences, saved: 14 bytes)**
She565eash6 by the5eashore,
The5h65he56 are5eash6, I'm5ure.
So if5he565eash6 on the5eashore,
Then I'm5ure5he565eashore5h6.
**"5eash" -> "4" (6 occurences, saved: 18 bytes)**
She5646 by the4ore,
The5h65he56 are46, I'm5ure.
So if5he5646 on the4ore,
Then I'm5ure5he564ore5h6.
**" the4ore,\nThe" -> "3" (2 occurences, saved: 10 bytes)**
She5646 by35h65he56 are46, I'm5ure.
So if5he5646 on3n I'm5ure5he564ore5h6.
**"he56" -> "2" (4 occurences, saved: 7 bytes)**
S246 by35h652 are46, I'm5ure.
So if5246 on3n I'm5ure524ore5h6.
**" I'm5ure" -> "1" (2 occurences, saved: 5 bytes)**
S246 by35h652 are46,1.
So if5246 on3n1524ore5h6.
**"246 " -> "0" (2 occurences, saved: 1 byte)**
S0by35h652 are46,1.
So if50on3n1524ore5h6.
```
[Answer]
# [///](https://esolangs.org/wiki////), 115 bytes
Port of Neil's answer + accepting nph's suggestion.
```
/3/ I'm4ure//2/4eash//1/he40//0/ells//4/ s/S120 by the2ore,
The4h041 are20,3.
So if4120 on the2ore,
Then3412ore4h0.
```
[Try it online!](https://tio.run/##VcoxDoMwDEbhnVN4Y0H8TuJLdKYXAMlVkAKR4jJw@uCOHd/TZ2W1rNY7Eug1HnI1BSJE/QMBWYUBhpZigIAMS4hM203frLE2nYa3o8wSaG0aeUrzsFTaP/Jz9fxzZ/Lr4X7u/QE "/// – Try It Online")
[Answer]
# [05AB1E](https://github.com/Adriandmen/05AB1E/wiki/Commands), ~~91~~ 86 [bytes](https://github.com/Adriandmen/05AB1E/wiki/Codepage)
```
“SheÌç1€‹€€0,
The¬•s‚ÎÌç€™1,2.
So€¬‚ÎÌç1€‰€€0,
Then2‚ÎÌç0¬•s.“2Ý…½š¬•s#'í™ì“I'mˆ•“ª1ú:
```
[Try it online.](https://tio.run/##yy9OTMpM/f//UcOc4IzUwz2Hlxs@alrzqGEniGxaY6DDFZKReggosKj4UcOsw30gFSCplkWGOkZ6XMH5QA5IGioF0bwBWXOeEVzWAGKQHtAyo8NzHzUsO7T36EKImLL64bVAQw8DOXM81XNPtwEFgcxDqwwP77L6/x8A)
**Explanation:**
```
“SheÌç1€‹€€0,
The¬•s‚ÎÌç€™1,2.
So€¬‚ÎÌç1€‰€€0,
Then2‚ÎÌç0¬•s.“  # Push dictionary string "She sells1 by the0,
                 #                         The shells she sells are1,2.
                 #                         So if she sells1 on the0,
                 #                         Then2 she sells0 shells."
2Ý               # Push list [0,1,2]
…½š¬•s           # Push dictionary string "shore shells"
      #          # Split it on spaces: ["shore","shells"]
       'í™ì     '# Prepend dictionary string "sea" in front of both:
                 #  ["seashore","seashells"]
“I'mˆ•“ª        '# Append dictionary string "I'm sure" to this list:
                 #  ["seashore","seashells","I'm sure"]
1ú               # Pad each string with a leading space:
                 #  [" seashore"," seashells"," I'm sure"]
:                # Replace all [0,1,2] with [" seashore"," seashells"," I'm sure"]
                 # (after which the result is output implicitly)
```
[See this 05AB1E tips of mine (section *How to use the dictionary?*)](https://codegolf.stackexchange.com/a/166851/52210) to understand how the dictionary strings work.
[Answer]
# [Bubblegum](https://esolangs.org/wiki/Bubblegum), ~~79~~ 78 bytes
removed trailing newline for -1 byte  
The text in the tongue twister has many simple patterns. There are enough of them that even "normal" languages can save bytes. However, the *only* thing DEFLATE does is compressing simple patterns with little overhead...
```
00000000: 0bce 4855 284e cdc9 2906 9289 c519 6056  ..HU(N..).....`V
00000010: 52a5 4209 5018 2c90 5f94 aac3 1502 e441  R.B.P.,._......A
00000020: e58a e1ea 138b 5211 7a74 143c d573 158a  ......R.zt.<.s..
00000030: 4b8b 52f5 b882 f315 32d3 800a 310d cecf  K.R.....2...1...
00000040: c334 380f ae13 a105 a602 66ab 1e00       .48.......f...
```
[Try it online!](https://tio.run/##Pc8xSwRBDAXg3l/xSgUJySTZmxEbrQRB5EBbnZmdsdFKr/HPr7O3iw/S5X0k5VTKZ/s4fS0L77kBl9pg0R0hWkOda0JIPCGFmFBdEib2CSB6eLl8IrqiNe@vF5sgw/CQHRY4wVkiQk0M78mQc1WIc0AzE@BI9/RM1/R2NuhuN8IwmseMJi1DNJZBiuCQDwYxrZj9sEJjBVv1SL8/dEvfRLuhw7BybnZHiTGgqzg0zIrInKHCM2qrHXgc/TVhjNC/YcOoqgaN3JGbKLKwI0/jg2nKBdKYsYUsbqdQH7Msfw "Bubblegum – Try It Online")
After "writing" this answer, I finally decided to find a way to view the internal representation details of the string (to be specific, information on what characters are printed literally and what substrings are compressed as repetitions via LZ77). I modified `kunzip` (which already had some useful logging capabilities) to log only the information I want to see. This is the result:
```
output 83 S
output 104 h
output 101 e
output 32  
output 115 s
output 101 e
output 108 l
output 108 l
output 115 s
len: 3 dist: 6 ( se)
output 97 a
output 115 s
output 104 h
len: 5 dist: 10 (ells )
output 98 b
output 121 y
output 32  
output 116 t
len: 3 dist: 23 (he )
len: 5 dist: 17 (seash)
output 111 o
output 114 r
output 101 e
output 44 ,
output 10
output 84 T
len: 3 dist: 14 (he )
len: 7 dist: 28 (shells )
output 115 s
len: 9 dist: 48 (he sells )
output 97 a
output 114 r
output 101 e
len: 10 dist: 52 ( seashells)
output 44 ,
output 32  
output 73 I
output 39 '
output 109 m
output 32  
output 115 s
output 117 u
output 114 r
output 101 e
output 46 .
output 10
output 83 S
output 111 o
output 32  
output 105 i
output 102 f
len: 3 dist: 41 ( sh)
len: 18 dist: 89 (e sells seashells )
output 111 o
output 110 n
len: 18 dist: 89 ( the seashore,
The)
output 110 n
len: 9 dist: 58 ( I'm sure)
len: 10 dist: 51 ( she sells)
len: 8 dist: 34 ( seashor)
len: 8 dist: 118 (e shells)
output 46 .
```
I think might will be useful for "normal" language answers.
[Answer]
# [C# (Visual C# Interactive Compiler)](http://www.mono-project.com/docs/about-mono/releases/5.0.0/#csc), 171 bytes
```
string a=" she sells ",b="shells",c="seashore",d=a+"sea"+b;Write(@$"She{d[4..]} by the {c},
The {b}{a}are sea{b}, I'm sure.
So if{d} on the {c},
Then I'm sure{a}{c} {b}.")
```
[Try it online!](https://tio.run/##VYwxC8IwEEb3/orjEFQaM7lJwdW5goM4JOlpA20KuTpIyG@Pl0Vwe@@47zk@OPal8Bp9eIHpEHgkYJomBlS2Q1FhVE6QDI9LJFRDZ9qq2NrTLfqVducN9iOl4X7U@pHBfmCVTnJZNdcKNieTTaxpI6Lgsp2B35F00y/gn2nIsIS/Ufj9yFSONaJxX8oX "C# (Visual C# Interactive Compiler) – Try It Online")
The `@` allows for line breaks inside string literals.
[Answer]
# [Stax](https://github.com/tomtheisen/stax), 83 [bytes](https://github.com/tomtheisen/stax/blob/master/docs/packed.md#packed-stax)
```
ÇσGª☺Uë\╠╤↑╡V╦⌐∞┐ü9B@♦1ÖFò╫◄«vâ¬♂ƒQn→↨¥p▬♂♥å↓hb½Z╫Éà½♣µ\╩N>.▄┌bæ¼@3▲¡w8╣▐ù☼ve/h{≈ï░
```
**[Run and debug it](https://staxlang.xyz/#p=80e547a60155895cccd118b556cba9ecbf813942400431994695d711ae7683aa0b9f516e1a179d70160b0386196862ab5ad79085ab05e65cca4e3e2edcda6291ac40331ead7738b9de970f76652f687bf78bb0&i=&a=1)**
### How?
Unpacked:
```
`...`'!/|J
`...`      - compressed string "She sells..." with '!' where newlines should be
     '!    - a '!' character
       /   - split the compressed string at '!' characters
        |J - join with newline characters
```
Maybe making a manual compression using the words will be shorter?
[Answer]
# [C# (Visual C# Interactive Compiler)](http://www.mono-project.com/docs/about-mono/releases/5.0.0/#csc), 154 bytes
```
Write(@"S{0}sea{1} by the {2},
The {1} s{0}are sea{1}, I'm sure.
So if s{0}sea{1} on the {2},
Then I'm sure s{0}{2} {1}.","he sells ","shells","seashore")
```
[Try it online!](https://tio.run/##Sy7WTS7O/P8/vCizJFXDQSm42qC2ODWx2rBWIalSoSQjVaHaqFaHKwTEAIoVA6UTi1IVIEp0FDzVcxWKS4tS9biC8xUy08DyUO35eSja8@BqwYqAwiAD9ZR0lDJAxuXkFCsA2cUZIBaIkZpYnJFflKqk@f8/AA "C# (Visual C# Interactive Compiler) – Try It Online")
[Answer]
# [Japt](https://github.com/ETHproductions/japt), ~~108~~ ~~105~~ ~~104~~ ~~96~~ ~~93~~ 92 bytes
```
`S230 by41h012 ‡e30,d.
So if1230 4˜123Že1h0.`dd` I'm1¨e`4` e3Že,
T”`3`1Á`2`”10`1" s"0`e¥s
```
[Try it online!](https://tio.run/##y0osKPn/PyHYyNhAIanSxDDDwNBI4VB7qrGBTooeV3C@QmaaIUjuUK/JoRlA1qG@VKAavYSUlAQFT/Vcw0MrUhNMEhQOTUgFSelwhRyakmCcYHi4USjBKOHQFEODBEMlhWIlg4TUQ0uL//8HAA "Japt – Try It Online")
Port of [the retina answer](https://codegolf.stackexchange.com/a/206622/91267) to [Japt](https://github.com/ETHproductions/japt).
## Explanation
```
S230 by41h012 ‡e30,d.
So if1230 4˜123Že1h0.
```
Decompress into the string literal:
```
S230 by41h012 are30,d.
So if1230 on4nd123ore1h0.
```
Then we do replacements with:
```
d
 d` I'm1¨e`     // "d" with " I'm1ure"
 4` e3Že,\nT”`  // "4" with " the3ore,\nThe"
 3`1Á`          // "3" with "1eash"
 2`”10`         // "2" with "he10"
 1" s"          // "1" with " s"
 0`e¥s          // "0" with "ells"
```
[Answer]
# [ink](https://github.com/inkle/ink), ~~129~~ 130 bytes
```
-(i){|The shells|So if|Then I'm sure} {S|s}he sells {|are |}sea{|||shore }shells{& {on|by} the seashore,|{, I'm sure.|.->END}}
->i
```
[Try it online!](https://tio.run/##PYwxDsIwEAR7XnEVASnOE1JBQUOTfMBIh2wRbClHiuj23m5wIlHu7szG9CrFneJZMQYmCTxNgiFTfNYi0a15kywzG@kAscpUhBR@ZoIJewUgIf@i7b4eSXPCYzX6bILf5hba/v86uP56v5gdXB9L@QI "ink – Try It Online")
* +1 byte: A period was missing from the end of a line
### Explanation
```
// Thanks to all the new whitespace, this ungolfed code doesn't quite work as is
-(i)                              // A label
{|The shells|So if|Then I'm sure} // A sequence - the first time we get here we print nothing,
                                  // the second time we print "The shells",
                                  // the third time we print "So if", etc
{S|s}                             // Sequences keep outputting their last value once it's been reached
he sells                          // Plain text just gets printed
{|are |}
sea{|||shore }shells
{& {on|by} the seashore,|{, I'm sure.|.->END}}
                                  // {& marks a repeating sequence.
                                  // Instead of getting stuck on its last value, this it starts over.
                                  // On the fourth pass we hit ->END and terminate the program
->i                               // On the other passes, we get here and go back to the start
```
[Answer]
# PowerShell, 158 bytes
Because if bash counts then why not...
```
$1="seash"
$5="ells"
$4="he s$5 "
$6=" I'm sure"
$2="$1$5"
$3="$1`ore"
"S$4$2 by the $3,`nThe $5 s$4`are $2,$6.`nSo if s$4$2 on the $3,`nThen$6 s$4$3 $5"
```
[Try it online!](https://tio.run/##VYxNCsIwEIX3nmIYBtwUofnb5QCu2wOkQiRCTSSjiBTPHifduXvve3zvUd6xcorr2hqNHjkunPBA1qMwlmQ8pghMFqQ4j3A@3oFfNUpVHmkkK0n3FEqnOJEhBZcPPEUkPYQ894ckF0yb@S5VsBrInUKeCtyugrtR8p@Rye2D3lVs7Qc "PowerShell – Try It Online")
[Answer]
# [V (vim)](https://github.com/DJMcMayhem/V), 110 bytes
```
iS230 by41h012 are30,5.
So if1230 on4n5123ore1h0.Í5/ I'm1ure
Í4/ the3ore,\rThe
Í3/1eash
Í2/he10
Í1/ s
Í0/ells
```
[Try it online!](https://tio.run/##K/v/PzPYyNhAIanSxDDDwNBIIbEo1dhAx1SPKzhfITPNECSXn2eSZwpk5RelAtXoSR/uNdVX8FTPNSwtSuU63Guir1CSkQqS1YkpCskACRnrG6YmFmcAWUb6GamGBkCGob5CMZAy0E/NySn@/x8A "V (vim) – Try It Online")
Port of [@Neil](https://codegolf.stackexchange.com/users/17602/neil)'s [retina answer](https://codegolf.stackexchange.com/a/206622/91267) to [V (vim)](https://github.com/DJMcMayhem/V)
[Answer]
# PHP, ~~133~~ 126 bytes
```
<?=strtr("S2 s101 by t203,\nT2414e s1 are01,5.\nSo if4e s101 on t203,\nT2n54e s10341.",[" seash",ells,he,ore," sh"," I'm sure"]);
```
[Try it online](http://sandbox.onlinephpfunctions.com/code/75a045e313ee72788372b1a68da5156d0afc8d9a). Use PHP < 7.2 to avoid warnings
[Answer]
# [PowerShell](https://github.com/TryItOnline/TioSetup/wiki/Powershell), ~~134~~ ~~133~~ 132 bytes
-1 byte thanks @[Titus](https://codegolf.stackexchange.com/users/55735/titus)
see similar by [Nail](https://codegolf.stackexchange.com/a/206622/80745) and [Arnauld](https://codegolf.stackexchange.com/a/206652/80745)
```
$d='S0by36h461 are54,2.
So if60on3n2615ore6h4.'
"154 #he64# I'm6ure# the5ore,
The#ells#6eash# s"-split'#'|%{$d=$d-replace$i++,$_}
$d
```
[Try it online!](https://tio.run/##ZY/NasMwEITveoolUtEhtokTW4dCINee3Xtx7G1lcCRHqxBC22d31yY/pb1IsDvzzc7gzxjIYt@Po2q3ulrtLxtjC5NDHbAsknUmKg/du1l5t3Frk5c@IAsyLRZ5WYC0aAoJL/pgTgElRIuTIhGvFiVjSRqsyUqgRUpD30Ut9dfTJ2epNg049HWDqlsuE/X2LVQ7ai0EU5DiM6gYTsjZcKhjYyH6ic6f@@BxPHcUMbAnbfC406LiHU2J/NZzJYL9ZbbMg9tVcN3RXc9NH55k6gLEZa7NfwkfYO/@g93d@dfiwy01E3o3/gA "PowerShell – Try It Online")
[Answer]
# Python, ~~179~~ 176 bytes
```
print"She sells seashells by the seashore,\nThe shells she sells are seashells, I'm sure.\nSo if she sells seashells on the seashore,\nThen I'm sure she sells seashore shells."
```
Trivial algorithm, but nobody’s done it yet. I’m working on a better answer in a different language, but I don’t know if it should be posted in another answer or in this one. Shortening advice accepted, but I’m perfectly fine with just hard-coding it for now.
[Answer]
# [JavaScript (V8)](https://v8.dev/), 287 bytes
Trying a different way of compressing it, in a different language. Feedback is appreciated!
```
function s(){a="kdg by the dj,/nThe g care dg, I'm sure./nSo if cdg on the dj,/nThen I'm sure cdj g.".replace(/c|k/g,function(match){return(match=="c")?"she sells ":"She sells ";});c=a.replace(/d|g/g,function(match){return(match=="d")?"sea":"shells";});return (c.replace(/j/g,"shore"));}
```
[Try it online!](https://tio.run/##hdBNbsIwEAXgfU8x8qa2FJItwrK6Zk0vYCaDSTA22A4SAs4ehp823XXnJ7/5RprenmzG1B3K7DQfx80QsHQxQJbqYo3YtQ7WZyhbgravmvDNDwdoE2dXwfJzD3lIVDdhFaHbAHKfp//2w2@Lf3twtagTHbxFkg1ed42rfpbKvS24VZdEZUjvZIxAob5EZjGT9xnEQqymoG9Ko7ET2V7d/2T7JMmyxTBDT@dVAomT1rPFlZhIKKVv4xHM4zT6A2PI0VPto5NHpcc7 "JavaScript (V8) – Try It Online")
[Answer]
# Java 8, ~~169~~ 160 bytes
```
v->"".format("S%sells by%s shells she sells are seashells, I'm sure.\nSo if s%1$sells on%2$sn I'm sure s%1$sore shells.","he sells seash"," the seashore,\nThe")
```
Port of [*@IgbyLargeman*'s C# answer](https://codegolf.stackexchange.com/a/206661/52210), so make sure to upvote him as well!  
-9 bytes thanks to *@branboyer*.
[Try it online.](https://tio.run/##PVCxbsMgFNzzFScUq7bkILVr1O4dmsVRlqYDITgmxRDxsKWoyre7YKwscNy7d7rjKkaxuZ5/J2kEEb6Etn8rQNugfCukwi49gSZ4bS@Q5cHpM8ZqG9nHKh4URNASO1i8Yxo3H4zx1vlehJI1BSljCKd7QaBuxvFCZoVPSGS@xudLDxq84kfbOOgWVLyus9LZ4m1N9inJI5fAvMxZzZ62s2UkELrFPwrro913ilXTNmW@DScTMy/Rx9Soj8XLXPL7B6JaWt8pqJ67IfBbHIXSclnawZhq@YDH9A8)
(Simply returning as is would be [174 bytes](https://tio.run/##bZDNjsIwDITvPMWIy7YS5AUQ3DnApYjLsgcTAgRSB8VpJbTi2UsK5UeIixWPM7a@OVBNw8Pm2GhHIpiR5f8eYDmasCVtMG9boIjB8g46W3q7QZ2PknrppSKRotWYgzFGUw8n/WJvIMY5SZVkf3utz4g3OQk@mMGKF217H8rTQMG8TANMf0pIFYxaceFht28/X6s9f1nNT@@nx4fHXdVvRi3BqVq7RNCB1C1fmWLI7si/f6C8y@As0ZTKV1Gd0ihmrHTGlXN5F8eluQI).)
**Explanation:**
```
v->           // Method with empty unused parameter and String return-type
  "".format(  //  Return the following formatted string:
     "S%sells by%s
      shells she sells are seashells, I'm sure.\n
     So if s%1$sells on%2$s
     n I'm sure s%1$sore shells.",
    "he sells seash",
              //   Where the first `%s` and all `%1$s` are replaced with "he sells seash"
    " the seashore,\nThe")
              //   and the second `%s` and all `%2$s` are replaced with " the seashore,\n
                                                                         The"
```
[Answer]
# [PicoLisp](https://picolisp.com), ~~160 157 146 142~~ 138 bytes
```
(prin(text"S@1 @2 by the @3,
The @5 s@1 are @2,@4.
So if s@1 @2 on the @3,
Then@4 s@1 @3 @5.""he sells"'seashells'seashore" I'm sure"'shells]
```
Using the template:
```
S1 by the 2,
The 5 s1 are 2,4.
So if s1 on the 3,
Then4 s1 3 5.
```
Where 1 is `"he sells"`, 2 is `"seashells"`, 3 is `"seashore"`, and 4 is `" I'm sure"`
[Ideone It!](https://ideone.com/hyfZvI)
`{ 14 imaginary interweb points for guessing which syntax highlighting I'm using without peeking }`
### Common Lisp, 160 bytes
```
(format t"S~a~a by the ~a,~%The shells s~3:*~Aare ~a, I'm sure.~%So if s~3:*~A~a on the ~a,~%Then I'm sure s~3:*~a~*~a shells.""he sells ""seashells""seashore")
```
<https://ideone.com/n7zVUm>
[Answer]
# [Husk](https://github.com/barbuz/Husk), 77 bytes
```
ΓJx'p¨½ΞĿ∫Ẏj5pż¦Sβyεḟ?ṡ,ḣŀḢ¦ṠεΞĿ∫äeŻaŀ`◄,İ'm ṡ→.¶ȮSÏf£2₅Φεḟ?ṡ,ḣnİ'm ṡ→⁸ρΘŀḢ¦.
```
[Try it online!](https://tio.run/##yygtzv7//9xkrwr1gkMrDu09N@/I/kcdqx/u6ssyLTi659Cy4HObKs9tfbhjvv3DnQt1Hu5YfLTh4Y5Fh5Y93Lng3Fao6sNLUo/uTjzakPBoeovOkQ3quQpAtY/aJukd2nZiXfDh/rRDi40eNbWeW4ZiUB6SykeNO843npsBNVvv/38A "Husk – Try It Online")
Better than Bubblegum!
Husk's string compression is pretty good for this task, a straightforward compressed string would be 82 bytes long. Here, we apply just a single substitution to make it shorter.
The compressed string we use here is
```
he sells seashpSpells by the seashore,
The shells she sells are seashells, I'm sure.
So if spells on the seashore,
Then I'm sure spore shells.
```
The structure of the code is:
```
ΓJx'p¨...
     ¨...  The compressed string
  x'p      split on occurrences of the character 'p'
ΓJ         and joined by interleaving the first substring between the rest
```
What this does in practice is replacing the character 'p' with "he sells seash" everywhere in the rest of the string.
This substitution was the one that generated the shortest compressed string among the ones I've tried; multiple substitutions are possible but they didn't seem worth the longer payload. The letter 'p' was chosen because it generates words like "spell" and "spore" in the text that can be compressed very well by Husk.
[Answer]
# [Deadfish~](https://github.com/TryItOnline/deadfish-), ~~1313~~ 1234 bytes
```
iiissiic{ii}icdddc{{d}iii}ic{dd}s{ddd}ic{d}ddddc{i}dddcc{i}dddc{{iiii}iii}dc{dd}s{ddd}ic{d}ddddcddddc{ii}ddc{d}dcdddc{i}dddcc{i}dddc{{iiii}iii}dc{dd}ddsddc{ii}iiic{{d}i}ic{dd}dsdddddc{d}ddcdddc{{d}iii}ic{dd}s{ddd}ic{d}ddddcddddc{ii}ddc{d}dc{i}dddciiic{d}dddc{{ii}}dc{ddd}ddddcdsiiic{ii}cdddc{{d}iii}ic{dd}s{ddd}ic{d}dcdddc{i}dddcc{i}dddc{{iiii}iii}dc{dd}s{ddd}ic{d}dcdddc{{d}iii}ic{dd}s{ddd}ic{d}ddddc{i}dddcc{i}dddc{{iiii}iii}dc{{iii}ii}ic{ii}dddc{d}dddc{{d}iii}ic{dd}s{ddd}ic{d}ddddcddddc{ii}ddc{d}dcdddc{i}dddcc{i}dddc{{d}iii}dc{d}ddc{iiii}ic{ddd}ddddc{{i}ddd}c{{d}ii}iiic{dd}s{ddd}iciicdddc{d}dddc{{ii}}ic{{ii}ii}cdsiic{iii}ddc{{d}ii}ic{{iii}iii}dcdddc{{d}iii}c{dd}s{ddd}ic{d}dcdddc{{d}iii}ic{dd}s{ddd}ic{d}ddddc{i}dddcc{i}dddc{{iiii}iii}dc{dd}s{ddd}ic{d}ddddcddddc{ii}ddc{d}dcdddc{i}dddcc{i}dddc{{iiii}iii}dc{dd}ds{d}cdc{{d}ii}iic{dd}dsdddddc{d}ddcdddc{{d}iii}ic{dd}s{ddd}ic{d}ddddcddddc{ii}ddc{d}dc{i}dddciiic{d}dddc{{ii}}dc{ddd}ddddcdsiiic{ii}cdddc{i}dc{{d}ii}iic{iiii}ic{ddd}ddddc{{i}ddd}c{{d}ii}iiic{dd}s{ddd}iciicdddc{d}dddc{{d}iii}ic{dd}s{ddd}ic{d}dcdddc{{d}iii}ic{dd}s{ddd}ic{d}ddddc{i}dddcc{i}dddc{{iiii}iii}dc{dd}s{ddd}ic{d}ddddcddddc{ii}ddc{d}dc{i}dddciiic{d}dddc{{d}iii}ic{dd}s{ddd}ic{d}dcdddc{i}dddcc{i}dddc{{d}iii}ic
```
[Try it online!](https://tio.run/##xVNBDsMgDHvRHjXFm@YzR5S3M0ICrbZqK2qnHdrQ4sSOCbhdcWd6XEohmRIpmVQKAMkZyvaVAU31hbZWtF1alB5zzTNsfbCJjyRDt3@ypwiQIosmzQSFHNtAlMIOuW/0QdnqYrCrE/ekxHDkC4PMOnLU4OxrZfSEpYkpFzaJMESrw3u9rsyRGlA/mxUbY37WttJjszLGzFVEidESX8w53brTZrNWqc0sJvxvLn0khozDB/Z5zH9r/Vb/c9euo0t5Ag "Deadfish~ – Try It Online")
Deadfish, the ungolfing language.
[Answer]
# [Deadfish~](https://github.com/TryItOnline/deadfish-), ~~1216~~ 1196 bytes
```
iiissiici{ii}cdddci{iii{d}}ciii{dd{i}}cdddd{d}cddd{i}ccddd{i}c{{d{{i}}}}ciii{dd{i}}cdddd{d}cddddcdd{ii}cd{d}cdddcddd{i}ccddd{i}c{{d{{i}}}}c{d{i{i}}}ciii{ii}ci{i{d}}c{iiii{iii}}cdd{d}cdddci{iii{d}}ciii{dd{i}}cdddd{d}cddddcdd{ii}cd{d}cddd{i}ciiicddd{d}cd{{ii}}c{d{{i}}}cdsiiic{ii}cdddci{iii{d}}ciii{dd{i}}cd{d}cdddcddd{i}ccddd{i}c{{d{{i}}}}ciii{dd{i}}cd{d}cdddci{iii{d}}ciii{dd{i}}cdddd{d}cddd{i}ccddd{i}c{{d{{i}}}}ci{ii{iii}}cddd{ii}cddd{d}ci{iii{d}}ciii{dd{i}}cdddd{d}cddddcdd{ii}cd{d}cdddcddd{i}ccddd{i}cd{iii{d}}cdd{d}ci{iiii}c{d{{i}}}c{ddd{i}}cd{dd{ii}}ciii{dd{i}}ciicdddcddd{d}ci{{ii}}c{ii{ii}}cdsiicdd{iii}ci{ii{d}}ciii{ddd{i}}cdddc{iii{d}}ciii{dd{i}}cd{d}cdddci{iii{d}}ciii{dd{i}}cdddd{d}cddd{i}ccddd{i}c{{d{{i}}}}ciii{dd{i}}cdddd{d}cddddcdd{ii}cd{d}cdddcddd{i}ccddd{i}c{{d{{i}}}}cd{dd{i}}cdcii{ii{d}}c{iiii{iii}}cdd{d}cdddci{iii{d}}ciii{dd{i}}cdddd{d}cddddcdd{ii}cd{d}cddd{i}ciiicddd{d}cd{{ii}}c{d{{i}}}cdsiiic{ii}cdddcd{i}cii{ii{d}}ci{iiii}c{d{{i}}}c{ddd{i}}cd{dd{ii}}ciii{dd{i}}ciicdddcddd{d}ci{iii{d}}ciii{dd{i}}cd{d}cdddci{iii{d}}ciii{dd{i}}cdddd{d}cddd{i}ccddd{i}c{{d{{i}}}}ciii{dd{i}}cdddd{d}cddddcdd{ii}cd{d}cddd{i}ciiicddd{d}ci{iii{d}}ciii{dd{i}}cd{d}cdddcddd{i}ccddd{i}ci{iii{d}}c
```
[Try it online!](https://tio.run/##xVNJEsIwDHsRj2KsMuicoydvD7GzToF2CodcateLLCsJtjseDM9bSiRDIIVKRgHgHhUxilsooyeQY2bzvzSrCrX812KIxQy5Bg4Qskd3Hcua8teJGCOn5eAN6Yzo22ybl0ullag6YmMgCJY9EeJ8j0/Vv4qq095ozKzn8vL7KegAEyAnNRRjCRSlplFFxsGmSlkOrkhZGLBuMah2rnIo8LJ7iN4v7NTXXMFa3/X774zWqb1b@9LLGsUpvQA "Deadfish~ – Try It Online")
As long as I didn't mess anything up, this should be the shortest possible without `()` and printing in loops.
[Answer]
# [FEU](https://github.com/TryItOnline/feu), ~~112~~ 111 bytes
-1 byte thanks to Neil
```
a/S256 by43h632 are56,1.\nSo if3256 on4n1325ore3h6.
m/1/ I'm3ure/2/he36/3/ s/4/ the5ore,\nThe/5/ seash/6/ells/g
```
[Try it online!](https://tio.run/##FYqxDsMgDAX3foW3LlGewOB/6JyOWajk1JUSkKAZ@vWUbKe72/TsPWHxUej1C2zCnlLVKJOb17wU@mx8xZJDdoNK1THNtwMO9LgffFaFhykLGNQQQF/T65vW/DRFHFZTMwh03xvevf8B "FEU – Try It Online")
Port of JavaScript answer.
[Answer]
# [Python 2](https://docs.python.org/2/), ~~175~~ 158 bytes
thanks @branboyer for the edit!
```
print"S{0}ells by{1} shells she sells are seashells, I'm sure.\nSo if s{0}ells on{1}n I'm sure s{0}ore shells.".format("he sells seash"," the seashore,\nThe")
```
[Try it online!](https://tio.run/##PY2xDoMwDER/xfJSkKKo7V90hpElSEFBAhvF6YAQ3x6CW5jubN87L2sKTO@clzhSwmZ77n6aBPp1e@0gQYciIOpcPJ377Q18HjPIN3rbUcMwDiAXz1R4ugN64FOVtGgHjrNLFd7VWosGIYX/j5I3HbXBY53zAQ "Python 2 – Try It Online")
[Answer]
# [Scala](http://www.scala-lang.org/), 155 bytes
```
printf("S%2$s by%1$s shells%3$sare seashells, I'm sure.\nSo if s%2$s on%1$sn I'm sure%3$sshells."," the seashore,\nThe","he sells seashells"," she sells ")
```
[Try it online!](https://tio.run/##RYzBCsIwEER/ZQkNKoSC@gUePXhqj72kdUsidROyERTx22PSSj0NvJk3POhJJ9ffcIhw0ZYAnxHpynDyHt7JB0tx3IpGHiqG/iX3OdjgNLE8VqwDAqNegILz5g78CFh31DiwI/CsOSoarXUxF6UWSkA0vxMXUHXUGsx0Znnxvy9TXrHYpU/6Ag "Scala – Try It Online")
[Answer]
# [Zsh](https://www.zsh.org/), 128 bytes
```
<<Z
S${4=${2=he s${1=ells}}${3= seash}$1 }by${5= the$3ore,
The} sh$1 s$2 are$3$1,${6= I'm sure}.
So if s$4on$5n$6 s$2$3ore sh$1.
```
[Try it online!](https://tio.run/##HYw7DsJADAX7PYULSzRRpM2vig9AHSq6IBkZKWSlNRRg@ezLknbevPmqlDLP17CgDYTWkTAoWiTeNnVH6wmUVxXHCH77oI0EL2HsU@YmXIQdVOqm2MGaK8fYoE0E59MT9J3Z27AkeNyrMaQdxx2nv3wEjmtbyg8 "Zsh – Try It Online")
[Answer]
# [Deadfish~](https://github.com/TryItOnline/deadfish-), 1269 bytes
```
iiissiic{ii}icdddc{ddddddd}ic{dd}s{ddd}ic{d}ddddc{i}dddcc{i}dddc{{iiii}iii}dc{dd}s{ddd}ic{d}ddddcddddc{ii}ddc{d}dcdddc{i}dddcc{i}dddc{{iiii}iii}dc{dd}ddsddc{ii}iiic{ddddddddd}ic{dd}dsdddddc{d}ddcdddc{ddddddd}ic{dd}s{ddd}ic{d}ddddcddddc{ii}ddc{d}dc{i}dddciiic{d}dddc{{ii}}dc{ddd}ddddcdsiiic{ii}cdddc{ddddddd}ic{dd}s{ddd}ic{d}dcdddc{i}dddcc{i}dddc{{iiii}iii}dc{dd}s{ddd}ic{d}dcdddc{ddddddd}ic{dd}s{ddd}ic{d}ddddc{i}dddcc{i}dddc{{iiii}iii}dc{{iii}ii}ic{ii}dddc{d}dddc{ddddddd}ic{dd}s{ddd}ic{d}ddddcddddc{ii}ddc{d}dcdddc{i}dddcc{i}dddc{ddddddd}dc{d}ddc{iiii}ic{ddd}ddddc{iiiiiii}c{dddddddd}iiic{dd}s{ddd}iciicdddc{d}dddc{{ii}}ic{{ii}ii}cdsiic{iii}ddc{dddddddd}ic{{iii}iii}dcdddc{ddddddd}c{dd}s{ddd}ic{d}dcdddc{ddddddd}ic{dd}s{ddd}ic{d}ddddc{i}dddcc{i}dddc{{iiii}iii}dc{dd}s{ddd}ic{d}ddddcddddc{ii}ddc{d}dcdddc{i}dddcc{i}dddc{{iiii}iii}dc{dd}ds{d}cdc{dddddddd}iic{dd}dsdddddc{d}ddcdddc{ddddddd}ic{dd}s{ddd}ic{d}ddddcddddc{ii}ddc{d}dc{i}dddciiic{d}dddc{{ii}}dc{ddd}ddddcdsiiic{ii}cdddc{i}dc{dddddddd}iic{iiii}ic{ddd}ddddc{iiiiiii}c{dddddddd}iiic{dd}s{ddd}iciicdddc{d}dddc{ddddddd}ic{dd}s{ddd}ic{d}dcdddc{ddddddd}ic{dd}s{ddd}ic{d}ddddc{i}dddcc{i}dddc{{iiii}iii}dc{dd}s{ddd}ic{d}ddddcddddc{ii}ddc{d}dc{i}dddciiic{d}dddc{ddddddd}ic{dd}s{ddd}ic{d}dcdddc{i}dddcc{i}dddc{ddddddd}ic
```
[Try it online!](https://tio.run/##xVNbDsMgDDvRDjXhTfM3nxFnZzwSoBpSi8a0ShVpSGLHSfG440n/usVI0nvSCRnoADhBfdJnMoMXswPKNfPp7JSUmFPTi2m8JuXo4nNXigBes0g2Ro1TvoXWwxXSHyQUuFZvHEKFtyRPFeYMwq0K87XQUu1A7QqtjUUhZkhWwgRW5EGa4snOPhubVIOkrdMgL@tZJNWtUyoDbel9HujsV3HbuqYqqaODGH9cVKU1UNkxwLP1//EcJkIs/pA9PMY3 "Deadfish~ – Try It Online")
[Answer]
# [Knight](https://github.com/knight-lang/knight-lang), 138 bytes
```
O+S=q+=sS=v" shells"4F" se"=tSvT0"sea"F2"S"+" by"+=p" the seashore,
The"+v+s+" are"+t+=u" I'm sure.
So if"+q+S" onn"3Fp+GuF9+s+Gp 4 9+v"."
```
[Try it online!](https://tio.run/##rVhtc9rGFv4Mv2KtjJEWiUSSuTMtIBgnMR5PHTs1zu0Hm6ayEEYzQlBJOG1j37@ee86@SLuA06YtHxC7e16fPW8i6txH0ZcXSRalm1k8KMpZsnq5GDbVnTS507ai8vd1vEWUJ9m9tlUmS04zi@dJFpM0Jekqu2df1eb1xYd3xKuXk@sr4tfL/x5fkW69HF@8Id/Vy6sPxKuJx@cThfbiw7lC@uHi3fHkB6ugxIKv1v@8/9Dq7HgCSvlRtAjzNq2IVRqwU7IPh9365OLkJzzK4Ah9eYRfg4F@juLZOfx4tNKUwkojeH15ec4o4GsEXvXAFUX31Sk/BNbKuIcw3cSU3mRT2mwys@EG4nAZXBknl2Pry6U9CX61g2ISPBikWMRpWhjdMfyMjaCcPFy7RhGHxtg3JoZtkLvfDTtYG6RcxEARFotVHjvN60Vs2A92AQRhDj9LO9gY5MxckmKTxy@bkxVJ5ob9qz0xyCrLjKPx2j7djL8HjtM16ZLv7QfjpfGFgkFGvwnXvw7zIrYo@dxsJFlJkn6zAbvMFYe055ssgh10hkSwLpdrp1hnN/40@Ow67lO/CWwk4PTwdIH40yJJYwtcB0KLI@AQ47a8zW7ntzn5/HQztWjvhUGZ0kYyJ5YAigQBMV@YlHARcvcAdm8z2LZtvgNKGnFaxOrGk1BMrKSYJfdJKdlBDVroOZWR/Nkmnkts0hYm2jYlHWK6JshCkxJK8rjc5BlPh0fCr5cMBqRLKy@TIl19inMrArFSH3l8JNKGiK0i5thHkwp3kz2uJIHnALpBtb1lBGYdGAGRSoAkm23WFl4GERh1CKyoYOP6bk2zVm6YHG2gAlMr7eTVKwK1AX6DCeuwKHm4lWFeArEAtC0RwpuIUElDWoWl4c@sgm@P8htSvMYocqdgSyR9LTbrNUJJ5f3LHRVYNVIAUEUgypBBt84g4qAyYYwJUzkM1yYZsRrVExtj3MAq1cPqhOEso4QVNu6bhWmApoZpuoqsrut4FD3Cbd0JLvRKAf69WZnAJEs2D9lE8u2z/vjk9Ztffjw4f3upOKFJ8HclHGgiTs8mz/Ee7fJyc0/NyvKzZyzv6rw6yRPWlHyTIWx9VgShaKwKS9YUFoUQX2USEXZ6t5nf@N2pMIKD32I5V2kv1tDHyrkFpODVYZrODJnMwyFko4NCtgVAZFYCeDfh@jW6AfGOdCfRc4yPETHKfBMbEBfVPoYJ7M9DyFc8MLJNmho1BOgnui76AILx8fVqlcLBnQ7As67WXn3Nn/a3O6RaebdtJd5Zucr@VRshEstVmlqqqQ5xHai6f8PkbMdkbFbvjt9fONiyeJzB8uzGc113yjobLOWqSP6IP5YEH/1mHaGKt4gArBz88tn3UeDJzodFB5sfPti3zx9HQDA@Oz9pkznUq36jimyhD0thFK6dNM5Yo1SwskRX4ZhBzj0HxjYjNgLsI/NVDjWTtVzobwOGRR8Ke4KHVTGIluutG2AgJdO6LiBMyRTVFJ@SMlpYbTbTEH2oAYyI@ETYK8xjs0dQCycIEFAciqAw0hZzSogXs5gWsrTPWl5NwYa9Msf2wea9myn9XIcZzBms3HLFV6BYl52H2cyiLfe3OXxqwvdACEI5RPdxmcLgZrXYVbbwgrBLzZKM9pO5ZbHrxOYbLXI0xYEwpZTfcuD295oKD7RL6jvh@lh3YrVA4NGX5iJGom7WVr6u3eH01cmb@gQ5VYQrml@ABoMBwi9Yr9ZxZimKHSM3WLcGq4Il710QjoHvdr9j@6K/W3womIPpM3QKpiKIWAdHJiCH9s1WqANUy@iyYJPYARs7MGGBkgq4QQ7TxaBGCe2A@OrYUMNYe/IjeBL/BiMTJvuOnwfapbPZ/AAL2Q7h@U50gJZUx0Uhf2v2xEy2J46rwif6j3GxWd7BPIIdiMoWhC8e9RC3Uw0l64S9i1mHBTLqubDLDHDCMKLqhUJKjZpUHmB3icNMiH2ugYmOpd6AbOgchcsaBUwMuEIBGr9PDTrSauHpTaeDpFM@ad6y0bYhzTp82S7AHgtWlMhUyxXzN2Uhb7@KCT59cYPsyiBWJqFcYkXG0FKuhw@0Df22@UshUsOMTWQs@fzOcQRlycAvgFHhNmZ5IL306f5QjcJSPsQc6Nk1TFT@RlkU5kOHPUtRI4RfnZ3oVKIdp2XdXs7Urm9nDwrb3XkPDu0dHPi97kNhuce1NqMJVCGMAVqQxSpkYN7CexMS9TsdJk8AxTrm9kVzREst@199FZhX@4E5/CrT4X6mnxmamkN8mGd7vuplX8DOUQ9Ix6tQZrQAvQd51vEgxzyV2P9G6gGUR402CJCU6e3JHVdCzoD2h67A2qdsWmkHDP/mdkKwQ6VLDZj/W7UU80hLtUBPtBFR42mgIousPf4/CjBzghHRRg@26RAlwVCGyzllFfd5aUHagwAKmGLy8J@bPPwXTB5Kkw/22BwIm4XJo@dN5lr3mIzHI6IR@BWFL2vvwT4760XlngxaVUBlXqvOHPRlX1kZqZwiCiv@x7/CL8JXEVPx982eSq1NSNu0QZ2w@vE3j8ByLKpnYKRraHNwlUWMBiVOA41byTDkQArbrti4yT@Be/wvDHVG0bwjatsTbGf6wIekCv/I7x0psJzyaTNQmrOt1q7d6ToTM6tT5cKRNgtNONBbQvvb1dLfVy2PaNVC/Iq7yzb/pJeiYfjEq4iqubHqpGpb9cFD1Gp72F9Zb@Hxzw/Zg1HYIhNA@yyeh5u0BM/kcJJkcJjM2L8PYVTGOTSSyMRxBXcoeeb9B4Wx@VT8l/XE3kCXYZJZFP/SYC8h@Pe65TLF@rD/9OX/ "C (gcc) – Try It Online")
Fiiiiiiiine, I'll explain it
#### Attempt at explaining it
Sorry, the indentation is a little inconsistent...
```
OUTPUT
 +
  # substitute " s" with "S" for initial capitalization
  SUBSTITUTE(
   = _she_sells_seashells
    + = _she_sells
     # inject " se" into "shells"
     # to get "she sells"
     SUBSTITUTE(
       = _shells " shells"
       4
       0
       " se"
      )
    # inject "sea" to get " seashells"
    = _seashells
       SUBSTITUTE(
        _shells
        1
        0
        "sea"
       )
    )
    0
    2
    "S"
   )
  + " by"
  + = _the_seashore_the " the seashore,\nThe"
  + _shells
  + _she_sells
  + " are"
  + _seashells
  + = _im_sure_so_if "  I'm sure.\nSo if"
  + _she_sells_seashells
  # shorter to inject than concatenate
  # to get " on the seashore,\nThen"
  + SUBSTITUTE(
     " onn"
     3
     0
     _the_seashore_the
    )
  # Extract "I'm sure"
  + GET(
     _im_sure_so_if
     0
     9
    )
  + _she_sells
  # " seashore"
  + GET(
     _the_seashore_the
     4
     9
    )
  + _shells
  : "."
```
[Answer]
# Bash, 156 bytes
```
i=" I'm sure"
h=" she"
k=lls
l=" seashe"$k
s=" seashore"
e=" se"$k
printf "She$e$l by the$s,
The$h$k$h$e are$l,$i.
So if$h$e$l on the$s,
Then$i$h$e$s$h$k."
```
An expert can probably save some more here.
[Answer]
# [zlib](https://zlib.net/), 84 bytes
Hex dump:
```
00000000: 78 9c 0b ce 48 55 28 4e cd c9 29 06 92 89 c5 19  x...HU(N..).....
00000010: 60 56 52 a5 42 09 58 18 28 90 5f 94 aa c3 15 02  `VR.B.X.(._.....
00000020: e2 41 e4 8a e1 ea 13 8b 52 11 7a 74 14 3c d5 73  .A......R.zt.<.s
00000030: 15 8a 4b 8b 52 f5 b8 82 f3 15 32 d3 90 14 22 0c  ..K.R.....2...".
00000040: ce cf c3 34 38 0f ae 13 5d 4b 7e 11 cc 56 3d 00  ...48...]K~..V=.
00000050: 3c 70 3a e6                                      <p:.
```
Raw hex:
```
789c0bce4855284ecdc929069289c519605652a54209581828905f94aac31502e241e48ae1ea138b52117a74143cd573158a4b8b52f5b882f31532d39014220ccecfc334380fae135d4b7e11cc563d003c703ae6
```
Or generate this file yourself:
```
openssl zlib < seashells.txt > seashells.zlib
```
You can ~~decompress this file~~ execute this program with:
```
openssl zlib -d < seashells.zlib
```
or, presumably, any of the answers [here](https://unix.stackexchange.com/questions/22834/how-to-uncompress-zlib-data-in-unix).
]