import java.math.BigInteger;
import java.util.*;

public class Euler134 {
    public static void main(String[] args) {
        int limit = 1000000;
        boolean[] sieve = new boolean[limit + 200001];
        Arrays.fill(sieve, true);
        sieve[0] = sieve[1] = false;
        for (int i = 2; (long) i * i < sieve.length; i++)
            if (sieve[i])
                for (int j = i * i; j < sieve.length; j += i)
                    sieve[j] = false;
        List<Integer> primes = new ArrayList<>();
        for (int i = 2; i < sieve.length; i++)
            if (sieve[i])
                primes.add(i);

        long total = 0;
        for (int i = 0; i + 1 < primes.size(); i++) {
            int p1 = primes.get(i), p2 = primes.get(i + 1);
            if (p1 < 5)
                continue;
            if (p1 >= limit)
                break;
            long mod = 1;
            int x = p1;
            while (x > 0) {
                mod *= 10;
                x /= 10;
            }
            long inv = BigInteger.valueOf(p2 % mod).modInverse(BigInteger.valueOf(mod)).longValue();
            long k = (p1 * inv) % mod;
            total += (long) p2 * k;
        }
        System.out.println(total);
    }
}
