Find the smallest prime from a substring In 1946 Erdos and Copeland proved that a certain number is a normal number, i.e. the digits in its decimal expansion are uniformly distributed.

Users will input a sequence of digits and you will find the smallest prime that contains that string in base 10.

Example:

input   -&gt; output
"10"    -&gt; 101
"03"    -&gt; 103
"222"   -&gt; 2221
"98765" -&gt; 987659


Shortest code in bytes wins. I do know that some languages (mathematica, sage, pari-gp...) come with built-in functions related to primes. -50 bytes if your program doesn't rely on such functions. Don't try to cheat on this please, if your language already has a huge advantage don't claim the bonus.

Edit

According to a few comments below, the smallest prime that contains "03" is 3. Does this really make a difference? The only thing I can think of is that maybe numbers are easier to handle than strings.

In cases like "03" the preferred output would be 103. However, I don't consider it to be the fundamental part of your program, so you're free to ignore any leading zero if it grants you a lower byte count.
Golfscipt, 33 32 bytes = -18 score
2{:x,2&gt;{x\%!},!!x`3$?)!|}{)}/;;x

Explanation:

2{...}{)}/ - starting with 2, while something is true, increment the top of the stack

;;x - discard the intermediate values collected by {}{}/ and the input, then put the last value tested there

:x,2&gt; - store the value as x, then produce a list from 2 to x-1

{x\%!},!! - keep those that x is divisible by, then coerce to boolean (not empty)

x`3?)! - look up the input in the text form of x (-1 if not found), increment, negate.

| - or