Avoid repeating letters between five simple programs You're challenge is to write 5 different full programs for the 5 following tasks:

Print Hello, World!

Given an input with STDIN, output the factorial, you can assume that the input is an integer &gt;= 0

Given an integer N, calculate the sum of the primes &lt;= N

Given an input with STDIN, output the letters used in the input. For example: the input is Hello world, you need to output helowrd. Note that the output is in lowercase. You can assume that the input is always alphabetic with whitespaces, the whitespaces are ignored.

Output the following diamond exactly like this:
  *
 ***
*****


*****
 ***
  *



All these challenges are probably very easy, but there is a catch. Every letter you use cannot be used again in the other programs. This is not prohibited, but will give you a penalty of +8 bytes. For example, if this is your program for the first task:
print(&quot;Hello, World!&quot;);

Then you cannot use the following letters (in uppercase or lowercase form): p, r, i, n, t, h, e, l, o, w, d in the other programs. If you do have to use them, you can 'buy' each letter for 8 bytes. So if you want to use the letter l again in another program, you get a penalty of 8 bytes. After you have paid the penalty, you can use each letter as much as you want in this program. Other characters don't matter. Also, all 5 programs should be in the same language.
This is a code-challenge, least amount of bytes wins!
CJam, 73 bytes

"Obkkh+'Phukc&amp;"7f^
q~m!
ri){'j3+_3++~},:+
lS-el_&amp;
4{_' *4@-Y*('**+}%_1&gt;W%\+N*


Each line is a full program. Try them online: 1 | 2 | 3 | 4 | 5

Letter map

 bc  f h  k   op    u       18
            m   q            4
        ij       r          17
    e      l      s          7
             n        w y   27


If you want (and each of your programs fits in a line), you can use this CJam program to create a letter map for your own submission.