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

public class Euler133 {
    public static void main(String[] args) {
        int limit = 100000;
        boolean[] sieve = new boolean[limit];
        Arrays.fill(sieve, true);
        sieve[0] = sieve[1] = false;
        for (int i = 2; i * i < limit; i++)
            if (sieve[i])
                for (int j = i * i; j < limit; j += i)
                    sieve[j] = false;

        BigInteger TEN = BigInteger.TEN;
        long sum = 0;
        for (int p = 2; p < limit; p++) {
            if (!sieve[p])
                continue;
            if (p == 2 || p == 3 || p == 5) {
                sum += p;
                continue;
            } // these can't divide
            // Find multiplicative order of 10 mod p
            int order = p - 1;
            // Factor order
            List<Integer> factors = new ArrayList<>();
            int x = order;
            for (int f = 2; (long) f * f <= x; f++) {
                if (x % f == 0) {
                    factors.add(f);
                    while (x % f == 0)
                        x /= f;
                }
            }
            if (x > 1)
                factors.add(x);
            BigInteger mod = BigInteger.valueOf(p);
            for (int q : factors)
                while (order % q == 0 && TEN.modPow(BigInteger.valueOf(order / q), mod).equals(BigInteger.ONE))
                    order /= q;
            // Check if order is 2^a * 5^b
            int o = order;
            while (o % 2 == 0)
                o /= 2;
            while (o % 5 == 0)
                o /= 5;
            if (o != 1)
                sum += p;
        }
        System.out.println(sum);
    }
}
