#import <stdio.h>
typedef long long INT;

double ln(double x) {
    if (x>=1 && x<=2) {
        return -1.7417939 + (2.8212026 + (-1.4699568 + (0.44717955 - 0.056570851 * x) * x) * x) * x;
    } else if (x<1) {
        return -ln(1.0/x);
    }
    
    INT log2;
    double divisor, z, result;
    
    INT v = (INT)x; // 32-bit word to find the log base 2 of
    INT r = 0; // r will be lg(v)
    
    while (v >>= 1) { // unroll for more speed...
        r++;
    }
    
    log2 = r; // See: https://stackoverflow.com/a/4970859/6630230
    divisor = (double)(1 << log2);
    z = x / divisor;    // normalized value between [1.0, 2.0]
    
    result = -1.7417939 + (2.8212026 + (-1.4699568 + (0.44717955 - 0.056570851 * z) * z) * z) * z;
    result += ((double)log2) * 0.69314718; // ln(2) = 0.69314718
    
    return result;
}

double l2(double x){
    return ln(x)/ln(2);
}

int main() {
    INT x,y;
    scanf("%lld %lld",&x,&y);
    printf("%lld", (INT)l2((double)y/(double)x) + 1);
}


