by Stephen Peters
Answer: HAMBURGER HELPER
Problem: Valentine’s Day Town/​President’s Day Town

Each of the sections of code is a modern variant of the LOGO language. The lines have been reordered alphabetically, and contain one extra line that doesn’t fit. When properly rearranged and the extra line removed, each LOGO program will draw the logo for a brand.

The brands are:

  1. Qantas
  2. Pepsi
  3. Delta
  4. Blackberry
  5. Steam
  6. Opel
  7. Mitsubishi
  8. E*Trade
  9. Target
  10. HSBC
  11. Gucci
  12. Audi
  13. Instagram
  14. Jeep
  15. LG
  16. Reddit
  17. NBC
  18. KLM
  19. Chevrolet
  20. Flickr

Each of these brands starts with a different letter from A to T. If the extra lines from each section of code are reassembled in that order, the resulting LOGO program draws the logo for HAMBURGER HELPER.

The full set of logos with the unshuffled source code is:
Audi cs ht setbg 7 setpencolor 0 setpensize 12 pu lt 90 fd 150 pd rt 180 repeat 4 [ arc 360 75 pu fd 100 pd ]
Blackberry cs ht setbg 7 to xx filled 7 [ pd rt 15 fd (30/cos 15) rt 75 fd 30 rt 90 fd 30 rt 90 fd 30 fd (30*sin 15) rt 90 ] pu rt 90 fd (30*sin 15) fd 30 lt 90 fd 15 pd filled 7 [ arc 180 15 ] pu bk 15 lt 90 fd (30* sin 15) fd 30 rt 90 end setpensize 1 setpencolor 7 pu setxy 35 58 filled 0 [ arc 360 125 ] home repeat 3 [ xx rt 15 fd (45/cos 15) lt 15 ] home fd 45 lt 90 fd 55 rt 90 repeat 2 [ xx rt 15 fd (45/cos 15) lt 15 ] home fd 23 rt 90 fd 70 lt 90 repeat 2 [ xx rt 15 fd (42/cos 15) lt 15 ]
Chevrolet ht cs setbg 7 setpencolor 0 setpensize 10 pd fd 20 lt 90 fd 80 rt 120 fd 50 rt 60 fd 53 lt 90 fd 20 rt 90 fd 80 rt 90 fd 20 lt 90 fd 80 rt 120 fd 50 rt 60 fd 53 lt 90 fd 20 rt 90 fd 80
Delta cs ht setbg 7 make "s [] setpalette 8 [88 10 20] setpencolor 8 setpensize 1 rt 90 filled 8 [ fd 100 lt 90 fd 40 setxy 0 0 ] pu home rt 30 fd 20 push "s (pos) pd filled 8 [ fd 180 seth 180 fd 110 setpos (pop "s) ] pu home seth 90 fd 200 setpalette 9 [60 10 20] setpencolor 9 pd filled 9 [ back 100 lt 90 fd 40 setxy 200 0 ] pu setxy 200 0 seth -30 fd 20 push "s (pos) pd filled 9 [ fd 180 seth 180 fd 110 setpos (pop "s) ]
E*Trade setpensize 1 cs ht pu setx -50 setpalette 8 [60 80 0] setpencolor 8 filled 8 [ rt 30 pd fd 250 rt 90 fd 86 rt 90 fd 150 lt 120 fd 150 rt 90 fd 86 rt 90 fd 150 lt 120 fd 150 rt 90 fd 86 rt 90 fd 250 ] pu seth 0 setxy 50 0 setpalette 9 [40 20 80] setpencolor 9 filled 9 [ lt 30 pd fd 250 lt 90 fd 86 lt 90 fd 150 rt 120 fd 150 lt 90 fd 86 lt 90 fd 150 rt 120 fd 150 lt 90 fd 86 lt 90 fd 250 ]
Flickr setbg 7 setpensize 1 ht cs setpencolor [0 38 87] filled [0 38 87] [ arc 360 50 ] pu rt 90 fd 120 setpalette 8 [100 0 50] setpencolor 8 filled 8 [ arc 360 50 ]
Gucci ht setpencolor 0 cs setbg 7 setpensize 20 arc 360 100 pu setx 100 pd arc 360 100 seth 260 pu fd 100 seth 90 pd fd 90 pu home rt 90 back 10 pe pd fd 120 pu home fd 10 rt 90 back 10 pd fd 120 pu setxy 50 0 setpensize 10 seth 180 pd fd 40 ppt
HSBC make "s [0 0 0 0 0 90 100 100 180 100 100 270 ] cs ht setbg 7 setpensize 1 setpencolor 4 repeat 4 [ setxy (pop "s) (pop "s) seth (pop "s) filled 4 [ fd 100 lt 135 fd 70.7 lt 90 fd 70.7 ] ]
Instagram cs ht setbg 7 setpencolor 0 setpensize 20 arc 360 50 pu setxy 65 65 filled 0 [ arc 360 15 ] setxy 70 105 seth 270 repeat 4 [ pd fd 140 pu rt 90 bk 30 pd arc -90 30 pu lt 90 fd 30 lt 90 ]
Jeep ht setpencolor 0 setbg 7 cs setpensize 20 repeat 7 [ pd fd 100 pu bk 100 rt 90 fd 35 lt 90 ] home pu fd 80 lt 90 fd 60 repeat 2 [ filled 0 [ arc 360 30 ] back 330 ]
KLM cs setbg 7 setpensize 1 ht setpalette 8 [0 63 89] setpencolor 8 filled 8 [ fd 28 rt 90 fd 150 rt 90 fd 28 rt 90 fd 150 ] home pu fd 56 rt 90 repeat 4 [ pd filled 8 [ arc 360 20 ] pu fd 50 ] back 118 lt 90 fd 19 pd filled 8 [ repeat 4 [ fd 14 rt 90 fd 14 lt 90 fd 14 lt 90 ]]
LG setpensize 1 ht cs setbg 7 filled [92 4 37] [ arc 360 100 ] setpencolor 7 setpensize 8 pu fd 50 pd bk 90 rt 90 fd 30 pu home rt 90 fd 30 pd fd 50 pu bk 80 arc 270 80 lt 90 fd 45 lt 90 fd 30 filled 7 [ arc 360 10 ]
Mitsubishi ht setbg 7 cs rt 90 setpalette 8 [90 0 7] setpencolor 8 repeat 3 [ filled 8 [ fd 50 lt 60 fd 50 lt 120 fd 50 lt 60 fd 50 ] pu bk 150 ]
NBC to f :c setpencolor :c filled :c [ pd fd 150 lt 90 pu bk 44 arc 212 44 rt 212 fd 44 pd rt 90 fd 150 pu ] end cs ht setbg 7 pu setx -21 lt 90 f [99 72 7] setxy 21 0 seth 55 f [5 69 28] setxy -34 18 seth -56 f [95 44 13] setxy 34 18 seth 22 f [0 54 82] setxy -32 36 seth -23 f [80 2 30] setxy 32 36 seth -11 f [39 38 67] setpencolor 7 setxy 0 190 filled 7 [ seth 90 fd 20 rt 20 fd 10 seth -91 repeat 10 [ fd 3 lt 9 ] fd 20]
Opel setpencolor 0 setbg 7 ht cs setpensize 10 arc 360 90 setpensize 1 pu setxy -122 22 pd filled 0 [ setxy 54 23 setxy 22 -2 setxy 124 -6 setxy 124 -22 setxy -52 -23 setxy -20 0 setxy -122 6 ]
Pepsi ht cs setpensize 1 setbg 7 setpalette 8 [93 7 18] filled 8 [ arc 360 165 ] filled [11 31 64] [ seth 50 arc 185 165 ] pu setxy -135 -95 filled 8 [ setxy 29 -26 setxy 103 129 setxy -135 -95 ] to cv :x2 :y2 :x3 :y3 :x4 :y4 make "x1 xcor make "y1 ycor repeat 21 [ make "t ((#-1)/20) make "a ((1-:t)^3) make "b ((3*:t)*(1-:t)*(1-:t)) make "c ((3*:t*:t)*(1-:t)) make "d (:t^3) setxy ((:x1*:a)+(:x2*:b)+(:x3*:c)+(:x4*:d)) ((:y1*:a)+(:y2*:b)+(:y3*:c)+(:y4*:d)) ] end pu setxy 136 98 filled 7 [ cv 160 0 100 -32 29 -58 cv -26 -73 -84 -81 -135 -100 setxy -140 -90 cv -117 -84 -53 -62 -14 -25 cv 36 18 88 87 97 141 ]
Qantas ht setpensize 1 setbg 7 cs filled [92 9 12] [ fd 220 setxy 240 0 home ] setpencolor 7 to kc :x2 :y2 :x3 :y3 :x4 :y4 make "x1 xcor make "y1 ycor repeat 21 [ make "t ((#-1)/20) make "a ((1-:t)^3) make "b ((3*:t)*(1-:t)*(1-:t)) make "c ((3*:t*:t)*(1-:t)) make "d (:t^3) setxy ((:x1*:a)+(:x2*:b)+(:x3*:c)+(:x4*:d)) ((:y1*:a)+(:y2*:b)+(:y3*:c)+(:y4*:d)) ] end setxy 0 161 filled 7 [ kc 8 132 44 134 66 118 kc 85 111 91 98 101 87 kc 109 87 110 91 112 93 kc 96 102 102 106 116 98 kc 130 92 138 90 130 86 kc 107 84 98 60 84 71 kc 92 71 99 75 87 76 kc 75 75 72 58 106 46 kc 134 32 149 17 151 6 kc 128 25 102 46 66 49 kc 72 70 62 91 39 108 kc 20 119 8 131 0 146 ]
Reddit cs ht setbg 7 setpencolor 0 pu setpensize 8 setxy 110 0 pd repeat 40 [ setxy (110*(cos #*9)) (70*(sin #*9)) ] pu setxy 0 70 pd rt 15 fd 60 rt 85 fd 50 pu fd 20 pd arc 360 20 pu setxy 100 30 seth -45 pd arc 190 25 pu setxy -100 30 seth 45 pd arc -190 25 pu setxy 0 150 seth 170 pd arc 20 190 pu setxy 40 8 pd setpalette 8 [100 27 0] setpencolor 8 filled 8 [ arc 360 17 ] pu setxy -40 8 pd filled 8 [ arc 360 17 ]
Steam cs setbg 7 setpensize 1 setpencolor 0 ht filled 0 [ arc 360 150 ] pu setxy 50 40 pd filled 7 [ arc 360 27 ] setpencolor 7 setpensize 18 arc 360 45 pu setpensize 1 setxy -43 -50 pd filled 7 [ arc 360 40 ] setxy -42 -15 filled 7 [ setxy -42 -15 setxy -3 40 setxy 50 -12 setxy -5 -50 setxy -42 -15 ] setxy -43 -50 setpencolor 0 filled 0 [ arc 360 30 ] pu setxy -43 -50 setpencolor 7 pd setpensize 40 setxy -160 0
Target ht cs setbg 7 setpensize 1 setpalette 8 [80 0 0] setpencolor 8 filled 8 [ arc 360 120 ] setpencolor 7 filled 7 [arc 360 80 ] setpencolor 8 filled 8 [ arc 360 40 ]

The remaining lines, when in the brand name order, are:

to bz :x2 :y2 :x3 :y3 :x4 :y4 make "x1 xcor make "y1 ycor repeat 21 [ make "t ((#-1)/20) make "a ((1-:t)^3) make "b ((3*:t)*(1-:t)*(1-:t)) make "c ((3*:t*:t)*(1-:t)) make "d (:t^3) setxy ((:x1*:a)+(:x2*:b)+(:x3*:c)+(:x4*:d)) ((:y1*:a)+(:y2*:b)+(:y3*:c)+(:y4*:d)) ] end setbg 7 setpencolor 0 to mbz :x1 :y1 :x2 :y2 :x3 :y3 :x4 :y4 pu setxy :x1 :y1 pd bz :x2 :y2 :x3 :y3 :x4 :y4 end cs setpensize 4 ht pd fd 125 lt 90 pu bk 50 arc 180 50 pu setxy 159 -50 pd filled (list (ycor+xcor-10)%100 (ycor+27)%100 (xcor+56)%100) [bz 208 -50 186 -110 154 -110 bz 114 -110 106 -50 159 -50 ] mbz 100 125 100 65 76 56 100 7 mbz 179 -120 200 -99 209 -80 206 -53 mbz 93 149 116 209 180 200 180 146 bz 180 92 162 78 171 33 bz 225 200 292 152 292 120 bz 292 70 234 60 235 -12 bz 235 -84 270 -84 229 -194 bz 220 -215 185 -211 162 -222 bz 110 -245 35 -264 23 -234 bz 20 -215 -5 -206 -9 -154 bz -17 -70 -80 -76 -80 -26 bz -80 31 -21 17 0 0 bz 35 -22 39 -70 38 -82 pu setxy 100 -30 pd setxy 110 -12 pu setxy 156 -32 pd filled 0 [arc 360 8] mbz 114 -175 126 -190 129 -198 170 -198 bz 205 -198 227 -130 195 -160 filled 0 [ bz 154 -205 114 -168 96 -121 mbz 98 -113 125 -135 154 -140 179 -120 bz 172 -147 185 -155 195 -160 ] pu setxy 138 2 pd setxy 160 -8 mbz 99 -90 104 -125 82 -140 58 -133 pu setxy 229 -194 pd filled (list (xcor+70)%100 (ycor-19)%100 (xcor+ycor-20)%100) [ bz 220 -215 185 -211 162 -222 bz 110 -245 35 -264 23 -234 bz 5 -248 -25 -320 50 -320 bz 130 -320 127 -270 215 -256 bz 251 -254 275 -220 229 -194 ] pu setxy 127 -41 pd filled 0 [ arc 360 8 ]