import java.util.ArrayList;
import java.util.List;

public class Euler231 {
    static int[] primesUpTo(int n) {
        byte[] isPrime = new byte[n + 1];
        for (int i = 2; i <= n; i++)
            isPrime[i] = 1;

        for (int i = 2; i * i <= n; i++) {
            if (isPrime[i] == 1) {
                for (int j = i * i; j <= n; j += i) {
                    isPrime[j] = 0;
                }
            }
        }

        int count = 0;
        for (int i = 2; i <= n; i++) {
            if (isPrime[i] == 1)
                count++;
        }

        int[] primes = new int[count];
        int idx = 0;
        for (int i = 2; i <= n; i++) {
            if (isPrime[i] == 1)
                primes[idx++] = i;
        }

        return primes;
    }

    static long exponentInFactorial(int n, int p) {
        long exp = 0;
        int x = n;
        while (x > 0) {
            x /= p;
            exp += x;
        }
        return exp;
    }

    public static String solve() {
        int n = 20000000;
        int k = 15000000;
        int r = n - k;

        int[] primes = primesUpTo(n);
        long sum = 0;

        for (int p : primes) {
            long exp = exponentInFactorial(n, p) - exponentInFactorial(k, p) - exponentInFactorial(r, p);
            sum += (long) p * exp;
        }

        return String.valueOf(sum);
    }

    public static void main(String[] args) {
        System.out.println(solve());
    }
}
