Beatles Songs and Hexagons Write two triangle (i.e. pyramid) shaped programs.
The first one should be an upwards pointing text triangle with a minimum base width of three characters. So it would have a structure like
 X
XXX

or
  X
 XXX
XXXXX

or
   X
  XXX
 XXXXX
XXXXXXX

or larger. Each of the X's is to be replaced with the characters of your actual code, which may be anything except line terminators (so the X's could be spaces). All the X's must be replaced and the spaces and newlines that help form the triangle shape are required to stay as is.
The second program must have the same size and shape as the first, except that the triangle will be pointing down.
So if your first program looks like
  X
 XXX
XXXXX

then your second program would look like
yyyyy
 yyy
  y

where each y is a character you need to fill in with your actual code (probably different from your X code). The spaces and newlines must stay the same here too.
Your task is to write these programs such that they each output (to stdout or closest alternative) the title of a distinct Beatles song, not taking any input. This Wikipedia article will serve as our official song list for The Beatles. The output should be one of the titles exactly as listed, e.g. I Want You (She's So Heavy).
This is pretty easy, however, even with the weird triangle program requirement. So we're going to form another program from the first two that must output yet another song title.
By combining three copies of each of the two triangular programs we can create a third program shaped like a hexagon.
If the base width of your first program was three it would look like this:
 XyyyX
XXXyXXX
yyyXyyy
 yXXXy

If the base width was five it would look like this:
  XyyyyyX
 XXXyyyXXX
XXXXXyXXXXX
yyyyyXyyyyy
 yyyXXXyyy
  yXXXXXy

This program (when run with the spaces and newlines like the others) must output another Beatles song title, just like the first two programs. Also:

Your three programs must output different song titles.
Only song titles eight characters in length or longer are allowed.
You can only choose one of Revolution, Revolution 1 and Revolution 9 because the titles are so similar.
You must choose your three favorite Beatles songs. (Well, try to.)

Note that actual programs are required. Functions are not allowed. Reading your own source code in any program is also not allowed.
Example
If your first program was
  A
 AAA
AAAAA

it could output Across the Universe.
Then your second program
bbbbb
 bbb
  b

could output Revolution.
Then combined into the hexagon program
  AbbbbbA
 AAAbbbAAA
AAAAAbAAAAA
bbbbbAbbbbb
 bbbAAAbbb
  bAAAAAb

the output might be Get Back.
Scoring
The submission with the smallest triangle base width wins. In the likely case of ties the submission with the largest summed length of its three song titles wins.
Befunge-93, width = 13 15, titles = 31 24 chars

A power outage last night prevented me from updating this when I figured it out, but I managed to reduce the triangle width and increase the song lengths!

Pointing-up program: "Dig a Pony", 10 characters:

      v
     v&gt; 
    v#  &gt;
   "&lt;     
  v &lt;&gt;"y"v&gt;
 &lt;v"Dig a P"
"^&gt;:#,_@.&gt;"no


Explanation

I REALLY took advantage of Befunge's wrap-around trick and I picked "Dig a Pony" specifically because it had a space at the 6th position. This allows program flow to move through the song name. Try it in the online interpreter to see how it works.

Pointing-down program: "If I Fell", 9 characters:

&lt; v"f I Fell"
 v&gt;"I"&gt;:#,_@
  "raC yM "
   v"Drive


       .


(Period is extraneous and only included to make the other lines show up.)

Explanation

The only relevant lines here are the first two. I used the wrap-around trick (the instruction pointer is sent left immediately) to squeeze in one more character. The second line prints out the song name.

Combined: "Drive My Car", 12 characters:

      v&lt; v"f I Fell"v
     v&gt; v&gt;"I"&gt;:#,_@v&gt; 
    v#  &gt;"raC yM "v#  &gt;
   "&lt;     v"Drive"&lt;     
  v &lt;&gt;"y"v&gt;     v &lt;&gt;"y"v&gt;
 &lt;v"Dig a P"   &lt;v"Dig a P"
"^&gt;:#,_@.&gt;"no "^&gt;:#,_@.&gt;"no
&lt; v"f I Fell"v&lt; v"f I Fell"
 v&gt;"I"&gt;:#,_@v&gt; v&gt;"I"&gt;:#,_@
  "raC yM "v#  &gt;"raC yM "
   v"Drive"&lt;     v"Drive
         v &lt;&gt;"y"v&gt;     
        &lt;v"Dig a P"   
       "^&gt;:#,_@.&gt;"no 


Here's the same thing, but with lines added to show the hexagon and triangles.

       -----------------
      /v\&lt; v"f I Fell"/v\
     /v&gt; \v&gt;"I"&gt;:#,_@/v&gt; \
    /v#  &gt;\"raC yM "/v#  &gt;\
   /"&lt;     \v"Drive/"&lt;     \
  /v &lt;&gt;"y"v&gt;\     /v &lt;&gt;"y"v&gt;\
 /&lt;v"Dig a P"\   /&lt;v"Dig a P"\
/"^&gt;:#,_@.&gt;"no\ /"^&gt;:#,_@.&gt;"no\
-------------------------------
\&lt; v"f I Fell"/v\&lt; v"f I Fell"/
 \v&gt;"I"&gt;:#,_@/v&gt; \v&gt;"I"&gt;:#,_@/
  \"raC yM "/v#  &gt;\"raC yM "/
   \v"Drive/"&lt;     \v"Drive/
    \     /v &lt;&gt;"y"v&gt;\     /
     \   /&lt;v"Dig a P"\   /
      \ /"^&gt;:#,_@.&gt;"no\ /
       -----------------


Explanation

This is where the third and fourth lines of the pointing-down triangle come into play. There are several redirects at the edge of both triangles that serve to move the instruction pointer through those two lines and push "Drive My Car" onto the stack. Then it is printed out using the &gt;:#,_@ bit in the pointing-up triangle. Incidentally, both the left and the right pointing-up triangles are used.

There might be a way to use more of the empty space, but I think my time is better spent on other questions. :P