import java.math.BigInteger;
import java.util.Arrays;

public class Euler57 {

    private static class Options {
        int expansions = 1000;
        boolean runCheckpoints = true;
    }

    private static boolean parseArguments(String[] args, Options options) {
        for (String arg : args) {
            if ("--skip-checkpoints".equals(arg)) {
                options.runCheckpoints = false;
            } else if (arg.startsWith("--expansions=")) {
                try {
                    options.expansions = Integer.parseInt(arg.substring(13));
                } catch (NumberFormatException e) {
                    System.err.println("Invalid number format for expansions");
                    return false;
                }
            } else {
                System.err.println("Unknown argument: " + arg);
                return false;
            }
        }
        return options.expansions >= 1;
    }

    private static int digitCount(BigInteger x) {
        return x.toString().length();
    }

    private static int solve(int expansions) {
        BigInteger num = BigInteger.valueOf(3); // first expansion numerator
        BigInteger den = BigInteger.valueOf(2); // first expansion denominator

        int count = 0;

        for (int i = 1; i <= expansions; ++i) {
            if (digitCount(num) > digitCount(den)) {
                ++count;
            }

            BigInteger nextNum = num.add(den.multiply(BigInteger.valueOf(2)));
            BigInteger nextDen = num.add(den);
            num = nextNum;
            den = nextDen;
        }

        return count;
    }

    private static boolean runCheckpoints() {
        if (solve(8) != 1) {
            System.err.println("Checkpoint failed for first 8 expansions");
            return false;
        }
        return true;
    }

    public static void main(String[] args) {
        Options options = new Options();
        if (!parseArguments(args, options)) {
            System.exit(1);
        }
        if (options.runCheckpoints && !runCheckpoints()) {
            System.exit(2);
        }

        System.out.println(solve(options.expansions));
    }
}
