import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;

public class Euler230 {
    static final String A100 = "1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679";
    static final String B100 = "8214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196";

    static int digitAt(String a, String b, long n) {
        List<Long> len = new ArrayList<>();
        len.add(0L);
        len.add((long) a.length());
        len.add((long) b.length());

        while (len.get(len.size() - 1) < n) {
            int m = len.size() - 1;
            len.add(len.get(m - 1) + len.get(m));
        }

        int k = len.size() - 1;
        while (k > 2) {
            if (n <= len.get(k - 2)) {
                k -= 2;
            } else {
                n -= len.get(k - 2);
                k -= 1;
            }
        }

        if (k == 1) {
            return a.charAt((int) (n - 1)) - '0';
        } else {
            return b.charAt((int) (n - 1)) - '0';
        }
    }

    public static String solve() {
        BigInteger answer = BigInteger.ZERO;
        BigInteger pow10 = BigInteger.ONE;

        for (int n = 0; n <= 17; ++n) {
            long index = 127 + 19L * n;
            for (int i = 0; i < n; ++i) {
                index *= 7L;
            }
            int digit = digitAt(A100, B100, index);
            answer = answer.add(pow10.multiply(BigInteger.valueOf(digit)));
            pow10 = pow10.multiply(BigInteger.TEN);
        }

        return answer.toString();
    }

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