public class Euler561 {
    static long v2Factorial(long n) {
        return n - Long.bitCount(n);
    }

    static java.math.BigInteger qFunc(long m, long N) {
        long k = (N + 1) / 2;
        long t = N / 4;

        java.math.BigInteger partOdd = java.math.BigInteger.valueOf(m)
                .multiply(java.math.BigInteger.valueOf(v2Factorial(k)));

        java.math.BigInteger partMult4 = java.math.BigInteger.valueOf(t)
                .add(java.math.BigInteger.valueOf(v2Factorial(t)));

        return partOdd.add(partMult4);
    }

    public static String solve() {
        long m = 904961;
        long n = 1000000000000L;
        return qFunc(m, n).toString();
    }

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