import java.util.*;

public class Euler333 {

    static boolean[] sievePrimeFlags(int limit) {
        boolean[] isPrime = new boolean[limit];
        Arrays.fill(isPrime, true);
        if (limit > 0)
            isPrime[0] = false;
        if (limit > 1)
            isPrime[1] = false;
        for (int p = 2; p * p < limit; p++) {
            if (isPrime[p]) {
                for (int q = p * p; q < limit; q += p) {
                    isPrime[q] = false;
                }
            }
        }
        return isPrime;
    }

    static List<List<Integer>> buildTerms(int limit) {
        List<List<Integer>> rows = new ArrayList<>();
        for (long p2 = 1; p2 <= limit; p2 *= 2) {
            List<Integer> row = new ArrayList<>();
            for (long val = p2; val <= limit; val *= 3) {
                row.add((int) val);
                if (val > (limit / 3)) {
                    break;
                }
            }
            rows.add(row);
        }
        return rows;
    }

    static void dfs(int i, int j_limit, int sum, List<List<Integer>> rows, int[] count, int limit) {
        if (i == rows.size()) {
            if (sum > 0)
                count[sum]++;
            return;
        }

        dfs(i + 1, j_limit, sum, rows, count, limit);

        int upper = Math.min(j_limit, rows.get(i).size());
        for (int j = 0; j < upper; j++) {
            int val = rows.get(i).get(j);
            if (sum + val > limit)
                break;
            dfs(i + 1, j, sum + val, rows, count, limit);
        }
    }

    static int[] partitionCounts(int limit) {
        List<List<Integer>> rows = buildTerms(limit);
        int[] count = new int[limit + 1];
        dfs(0, 1000, 0, rows, count, limit);
        return count;
    }

    public static String solve() {
        int primeLimit = 1000000;
        int limit = primeLimit - 1;
        int[] counts = partitionCounts(limit);
        boolean[] isPrime = sievePrimeFlags(primeLimit);

        long sum = 0;
        for (int q = 2; q < primeLimit; q++) {
            if (isPrime[q] && counts[q] == 1) {
                sum += q;
            }
        }
        return String.valueOf(sum);
    }

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