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

public class Euler148 {
    public static void main(String[] args) {
        long rows = 1000000000L;
        List<Integer> digits = new ArrayList<>();
        long x = rows;
        while (x > 0) {
            digits.add((int) (x % 7));
            x /= 7;
        }
        Collections.reverse(digits);
        BigInteger[] pow28 = new BigInteger[digits.size() + 1];
        pow28[0] = BigInteger.ONE;
        for (int i = 1; i < pow28.length; i++)
            pow28[i] = pow28[i - 1].multiply(BigInteger.valueOf(28));
        BigInteger answer = BigInteger.ZERO, pp = BigInteger.ONE;
        for (int i = 0; i < digits.size(); i++) {
            int d = digits.get(i);
            int rem = digits.size() - i - 1;
            for (int xd = 0; xd < d; xd++)
                answer = answer.add(pp.multiply(BigInteger.valueOf(xd + 1)).multiply(pow28[rem]));
            pp = pp.multiply(BigInteger.valueOf(d + 1));
        }
        System.out.println(answer);
    }
}
