Say Hello to the Pioneers of Computer Science Choose your favorite famous computer scientist or computer science pioneer who was born in 1942 or earlier (as 1943 marks the start of the creation of the 'first' computer). They should have a Wikipedia page or other site that lists their birth year and tells how their accomplishments relate to computer science. You may choose the same as someone else but choosing someone new is encouraged.

Take a name they are commonly known by. This will most likely be their first and last name but it might include abbreviations or middle names if that is more common. For example, for Tony Hoare both Tony Hoare and C. A. R. Hoare would be acceptable. 

All the characters in the name must be printable ASCII. If the name contains characters that aren't printable ASCII it's fine if you choose something approximate. e.g. Kurt Godel instead of Kurt Gödel. 

Take the set of unique characters in the name (e.g. C. ARHoare) and shift them up the printable ASCII scale by the birth year of your scientist, looping around from ~ to space. (Basically add the birth year modulo 95.) This will give you a (most likely) new set of printable ASCII characters.

For example, C. A. R. Hoare was born in 1934, so shifting every character in C. ARHoare by 1934 (34 mod 95) characters gives ePBctj2$5(.

This Stack Snippet will do all the shifting for you:



function go() {var name = document.getElementById("name").value;var year = parseInt(document.getElementById("year").value);var unique = {};for (var i = 0; i &lt; name.length; i++) { unique[name.charAt(i)] = true; } var result = ''; for (var char in unique) { result += String.fromCharCode((char.charCodeAt(0) - 32 + year) % 95 + 32); } document.getElementById("result").value = result; }
Name: &lt;input type="text" id="name" value="C. A. R. Hoare"&gt;&lt;br&gt;
Birth Year: &lt;input type="text" id="year" value="1934"&gt;&lt;br&gt;
&lt;button type="button" onclick="go()"&gt;Ok&lt;/button&gt;&lt;br&gt;
Result: &lt;input type="text" id="result" readonly&gt;




Challenge

Using this set and only this set (no tabs, no newlines) of shifted printable ASCII characters, write a program that prints Hello, [name]! to stdout or closest alternative, where [name] is the same exact name you chose above and shifted to get your program characters. You may use multiple characters from the set or not use some at all. For example, the theoretical program PetBee($25 prints Hello, C. A. R. Hoare!.

Scoring

Your score is your code size in bytes times the number of unique characters in the name you choose. The lowest sore wins.
CJam, 230 117 115 114 113 110 107 106 bytes * 13 = 1378

23)3*c11(2#)c111(((c3*))))22 2*c32c23 3*c3))$(113))c1$)))2$)2$(32c3)))$(3)$))1($)1($)3))$)1($)1$(12$(((33c


Test it here.

I chose Edsger Dijkstra, born 1930, which gives me c#2&amp;$1&gt;b()* 3 (whom I really just chose because he was the first one I found whose name yielded useful characters for CJam; I've checked a dozen names since and none looked as promising).

The code basically just builds the ASCII codes using 1, 2, 3, *, # (exponentiation) and (, ) (decrement, increment) and converts them to a character with c. To save some characters I can sometimes copy an earlier character with $ (0$ copies the top stack element, 1$ copies the second-to-top stack element and so on).

Here is the breakdown of the code into characters (this is also runnable):

23)3*c    "(23+1)*3 -&gt; 72 -&gt; H";
11(2#)c   "(11-1)^2+1 -&gt; 101 -&gt; e";
111(((c   "111-3 -&gt; 108 -&gt; l";
3*)       "Turn l into string lll and split off the third l.";
)))       "l+3 -&gt; o";
22 2*c    "22*2 -&gt; 44 -&gt; ,";
32c       "32 -&gt; Space";
23 3*c    "23*3 -&gt; 69 -&gt; E";
3))$(     "e-1 -&gt; d";
113))c    "113+2 -&gt; 115 -&gt; s";
1$)))     "d+3 -&gt; g";
2$)       "d+1 -&gt; e";
2$(       "s+1 -&gt; r";
32c       "32 -&gt; Space";
3)))$(    "E-1 -&gt; D";
3)$))     "g+2 -&gt; i";
1($)      "i+1 -&gt; j";
1($)      "j+1 -&gt; k";
3))$)     "r+1 -&gt; s";
1($)      "s+1 -&gt; t";
1$(       "s-1 -&gt; r";
12$(((    "d-3 -&gt; a";
33c       "33 -&gt; !";