Problem:


Score : 300 points

Problem Statement

As a token of his gratitude, Takahashi has decided to give his mother an integer sequence.
The sequence A needs to satisfy the conditions below:

A consists of integers between X and Y (inclusive).

For each 1\leq i \leq |A|-1, A_{i+1} is a multiple of A_i and strictly greater than A_i.

Find the maximum possible length of the sequence.

Constraints

1 \leq X \leq Y \leq 10^{18}

All input values are integers.

Input

Input is given from Standard Input in the following format:

X Y

Output

Print the maximum possible length of the sequence.

Sample Input 1

3 20

Sample Output 1

3

The sequence 3,6,18 satisfies the conditions.

Sample Input 2

25 100

Sample Output 2

3

Sample Input 3

314159265 358979323846264338

Sample Output 3

31



Sample input:
3 20


Sample output:
3

Submission status: Accepted

Solution code:
from __future__ import print_function

import sys
sys.setrecursionlimit(500000)

import re
import array
import copy
import functools
import operator

import math
import string
import fractions
from fractions import Fraction

import collections
import itertools
import bisect

import random
import time

import heapq
from heapq import heappush
from heapq import heappop
from heapq import heappushpop
from heapq import heapify
from heapq import heapreplace
from queue import PriorityQueue as pq
from queue import Queue

from itertools import accumulate

from collections import deque
from collections import Counter

from operator import mul
from functools import reduce

input = sys.stdin.readline


def eprint(*args, **kwargs):
    print(*args, file=sys.stderr, **kwargs)
    return

# from fractions import gcd
# from math import gcd

# def lcm(n, m):
#     return int(n * m / gcd(n, m))


# def coprimize(p, q):
#     common = gcd(p, q)
#     return (p // common, q // common)


# def find_gcd(list_l):
#     x = reduce(gcd, list_l)
#     return x


def combinations_count(n, r):
    r = min(r, n - r)
    numer = reduce(mul, range(n, n - r, -1), 1)
    denom = reduce(mul, range(1, r + 1), 1)
    return numer // denom


def main():
    x,y = map(int,input().strip().split())
    i=1
    while True:
        x*=2
        if x<=y:
            i+=1
        else:
            break
    print(i)
    

if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
import sys
import itertools
sys.setrecursionlimit(1000000000)
from heapq import heapify,heappop,heappush,heappushpop

import collections

x,y = map(int,input().split())
cnt = 0
while True:
    a = x*2**cnt
    if a>y:
        break
    cnt+=1
print(cnt)

Submission status: Accepted

Solution code:
import sys, re
from collections import deque, defaultdict, Counter
from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians
from itertools import accumulate, permutations, combinations, product, groupby
from operator import itemgetter, mul
from copy import deepcopy
from string import ascii_lowercase, ascii_uppercase, digits
from bisect import bisect, bisect_left
from fractions import gcd
from heapq import heappush, heappop
from functools import reduce
def input(): return sys.stdin.readline().strip()
def INT(): return int(input())
def MAP(): return map(int, input().split())
def LIST(): return list(map(int, input().split()))
def ZIP(n): return zip(*(MAP() for _ in range(n)))
sys.setrecursionlimit(10 ** 9)
INF = float('inf')
mod = 10 ** 9 + 7

X, Y = MAP()

cnt = 1
A = X

while A <= Y:
	A = 2*A
	cnt += 1

print(cnt-1)

Submission status: Accepted

Solution code:
# AtCoder
X, Y = map(int, input().split())

count = 0
while X <= Y:
    X = X * 2
    count += 1
print(count)

Submission status: Accepted

Solution code:
X,Y = map(int,input().split())
ans = 0
while X <= Y:
    X *= 2
    ans += 1

print(ans)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())
c = 0
while x <= y:
    c += 1
    x *= 2
print(c)

Submission status: Accepted

Solution code:
inf = 10**15
mod = 10**9+7
def getans(x,y):
    count=1
    while 2*x <= y:
        x *= 2
        count+=1
    return count

x,y = map(int, input().split())
print(getans(x,y))

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())
a = 0
metar = True
while metar:
    c = X * (2 ** a)
    if c <= Y:
        a += 1
    else:
        metar = False
print(a)

Submission status: Accepted

Solution code:
a,b = map(int, input().split())
c=0
while a<=b:
    a*=2
    c+=1
print(c)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())
c=0
while(1):
   if y>=x:
       c+=1
       x*=2
   else:
       break
print(c)

Submission status: Accepted

Solution code:
# one example of valid A is {X, (2 * X), (2 * 2 * X), ...}
X, Y = list(map(int, input().split()))
answer = 0
while X <= Y:
    answer += 1
    X *= 2
print(answer)

Submission status: Accepted

Solution code:
import sys
## io ##
def IS(): return sys.stdin.readline().rstrip()
def II(): return int(IS())
def MII(): return list(map(int, IS().split()))
def MIIZ(): return list(map(lambda x: x-1, MII()))
## dp ##
INIT_VAL = 0
def DD2(d1,d2): return [[INIT_VAL]*d2 for _ in range(d1)]
def DD3(d1,d2,d3): return [DD2(d2,d3) for _ in range(d1)]
## math ##
MOD=10**9+7
def divc(x,y): return -(-x//y)
def divf(x,y): return x//y
def gcd(x,y):
    while y: x,y = y,x%y
    return x
def lcm(x,y): return x*y//gcd(x,y)
def get_primes(MAX_NUM=10**3):
    """Return a list of prime numbers"""
    is_prime = [True] * MAX_NUM
    is_prime[0] = False
    is_prime[1] = False
    primes = []
    for i in range(MAX_NUM):
        if is_prime[i]:
            primes.append(i)
            for j in range(2*i, MAX_NUM, i):
                is_prime[j] = False
    return primes
## libs ##
from itertools import accumulate as acc
from collections import deque, Counter
from heapq import heapify, heappop, heappush
from bisect import bisect_left

#======================================================#

def main():
    x, y = MII()
    cnt = 0
    while x <= y:
        cnt += 1
        x *= 2
    print(cnt)

if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
MOD = 10 ** 9 + 7
INF = 10 ** 10
import sys
sys.setrecursionlimit(100000000)
dy = (-1,0,1,0)
dx = (0,1,0,-1)

def main():
    X,Y = map(int,input().split())
    ans = 0
    power = 1
    while power*X <= Y:
        ans += 1
        power *= 2
    print(ans)
if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
x,y = map(int,input().split())
ans = 0

while x <= y:
    x *= 2
    ans += 1
    
print(ans)

Submission status: Accepted

Solution code:
x,y = map(int, input().split())
c = 1
for i in range(1000000000):
    x *= 2
    if (x<=y):
        c += 1
    else:
        break
    
print(c)

Submission status: Accepted

Solution code:
import sys

x,y=map(int,input().split())
output=0
while True:
	if x * (2**output) >y :
		print(output)
		sys.exit()
	else:
		output+=1

Submission status: Accepted

Solution code:
x,y=map(int,input().split())

x2=x
icnt=0
while x2<=y:
    x2*=2
    icnt+=1
    
print(icnt)

Submission status: Accepted

Solution code:
x,y=map(int,input().split())
cnt=1
while x*2**cnt<=y:
  cnt+=1
print(cnt)

Submission status: Accepted

Solution code:
x,y=map(int,input().split())
cnt=1
while x*2**cnt<=y:
  cnt+=1
print(cnt)

Submission status: Accepted

Solution code:
X,Y=map(int,input().split())

a=X
cnt=0
while a <= Y:
    a=2*a
    cnt+=1


print(cnt)

Submission status: Accepted

Solution code:
x,y=map(int,input().split())
i=0
while x<=y:
    x=x*2
    i+=1
print(i)

Submission status: Accepted

Solution code:
X,Y = map(int,input().split())

S = X
ans = 0
while S <= Y:
  S *= 2
  ans += 1
  
print(ans)

Submission status: Accepted

Solution code:
def resolve():
    x, y = map(int, input().split())
    a = []

    d = y // x

    i = 0
    while 2 ** i <= d:
        i += 1

    print(i)

resolve()

Submission status: Accepted

Solution code:
x, y = map(int, input().split())

ans = len(format(y//x,'b'))
print(ans)

Submission status: Accepted

Solution code:
X,Y=map(int,input().split())

answer=0
A=X
while(A<=Y):
  A*=2
  answer+=1
  
print(answer)

Submission status: Accepted

Solution code:
import math

X,Y = map(int, input().split())

ans = []
for i in range(0, int(math.log2(10**18))+1):
    Z = X*pow(2, i)
    if Z<=Y:
        ans.append(Z)

print(len(ans))

Submission status: Accepted

Solution code:
x, y = map(int, input().split())
key = y//x
ans = 0
while key:
  ans += 1
  key //= 2
print(ans)

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())
A = [X]

while A[-1] <= Y:
    A.append(A[-1]*2)

print(len(A)-1)

Submission status: Accepted

Solution code:
import math
x,y = map(int,input().split())

# ans = int(math.log2(y/x) + 1)
ans = 0
now = x
while now <= y:
    ans += 1
    now *= 2


print(ans)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())
ans = 0
check = x
while check <= y:
    ans += 1
    check = x*(2**ans)
print(ans)

Submission status: Accepted

Solution code:
x,y = map(int,input().split())
ans = 0
while y >= x:
    ans += 1
    x *= 2
print(ans)

Submission status: Accepted

Solution code:
a,b = map(int,input().split())
ans = 0
for i in range(10**18+1):
  if a*(2**i) <= b:
    ans += 1
  else:
    break
print(ans)

Submission status: Accepted

Solution code:
x,y = map(int, input().split())
cnt = 1
while x*2 ** cnt <= y:
    cnt += 1
print(cnt)

Submission status: Accepted

Solution code:
nim,mike = map(int,input().split())
array = []

while nim<=mike:
  array.append(nim)
  nim*=2

print(len(array))

Submission status: Accepted

Solution code:
x, y = map(int, input().split())
cnt = 1
while x * 2 ** cnt <= y:
    cnt += 1
print(cnt)

Submission status: Accepted

Solution code:
import sys

readline = sys.stdin.readline
MOD = 10 ** 9 + 7
INF = float('INF')
sys.setrecursionlimit(10 ** 5)


def main():
    x, y = list(map(int, readline().split()))

    ans = 0
    c = x

    while c <= y:
        ans += 1
        c <<= 1

    print(ans)


if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())

# 2 倍していってYを越えたら終わり
for i in range(100):
    if X * 2**i > Y:
        print(i)
        exit()

Submission status: Accepted

Solution code:
X,Y=map(int,input().split())

s=1

while X*2<=Y:
  X=X*2
  s=s+1
  
print(s)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())
ans = 0

while x <= y:
    x *= 2
    ans += 1

print(ans)

Submission status: Accepted

Solution code:
def main():
    X, Y = map(int, input().split())
    
    ans = 0
    while X <= Y:
        ans += 1
        X *= 2
    print(ans) 

if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
def main():
    X, Y = map(int, input().split())
    cnt = 1
    for i in range(Y):
        X = 2*X
        if X <= Y:
            cnt += 1
        else:
            break
    print(cnt)
if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
X, Y = map(int,input().split())

ans = 1
k = 1
while k * 2 * X <= Y:
    k *= 2
    ans += 1

print(ans)

Submission status: Accepted

Solution code:
X,Y = map(int,input().split())

count = 0
n = X
while n <= Y:
    count += 1
    n *= 2

print(count)

Submission status: Accepted

Solution code:
x,y = list(map(int,input().split()))

n = x
cnt = 0
while n <= y:
  n = n*2
  cnt += 1

print(cnt)

Submission status: Accepted

Solution code:
x,y = map(int,input().split())

ans = 0
while x <= y:
    x *= 2
    ans += 1

print(ans)

Submission status: Accepted

Solution code:
x,y = map(int,input().split())
f = 0
while x*2<=y:
  x *= 2
  f += 1
print(f+1)

Submission status: Accepted

Solution code:
x,y = map(int,(input().split()))
now = x
c = 1
while now*2 <= y:
    now *= 2
    c += 1
print(c)

Submission status: Accepted

Solution code:
def resolve():
    X, Y = list(map(int, input().split(" ")))
    A = [X]
    while Y >= A[-1]*2:
        A.append(A[-1]*2)
    print(len(A))



if '__main__' == __name__:
    resolve()

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())

ans=1
while X<=Y:
    X *= 2
    ans += 1

print(ans-1)

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())

number = X
ans = 0

while number <= Y:
    ans += 1
    number *= 2

print(ans)

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())
ans = 0

while X <= Y:
    ans += 1
    X *= 2

print(ans)

Submission status: Accepted

Solution code:
x,y=map(int,input().split())
ans=0

while x<=y:
    #print(x)
    x*=2
    ans+=1
    
print(ans)

Submission status: Accepted

Solution code:
ans = 1
x,y = [int(x) for x in input().split()]
while True:
  if x*(2**ans) > y:
    break
  ans += 1
print(ans)

Submission status: Accepted

Solution code:
x,y=map(int,input().split())
s=x
cnt=0
while True:
    s*=2
    cnt+=1
    if s>y:
        break
print(cnt)

Submission status: Accepted

Solution code:
x,y=map(int, input().split())
ans=0
while x<=y:
    x=x*2
    ans+=1
print(ans)

Submission status: Accepted

Solution code:
import sys

x, y = map(int, sys.stdin.readline().split())

def main(x):
    cnt = 0
    while x <= y:
        cnt += 1
        x *= 2
    print(cnt)
        
if __name__ ==  '__main__':
    main(x)

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())

res = 0
while X <= Y:
    res += 1
    X *= 2

print(res)

Submission status: Accepted

Solution code:
if __name__ == '__main__':
    X, Y = map(int, input().split())
    ans = 0
    while X <= Y:
        ans += 1
        X *= 2
    print(ans)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())
A = [x]
while True:
  a = 2 * A[-1]
  if a > y:
    break
  A.append(a)
print(len(A))

Submission status: Accepted

Solution code:
from sys import stdin

[X, Y] = [int(x) for x in stdin.readline().rstrip().split()]

index=1
while(True):
    X = 2*X
    if X<=Y:
        index+=1
    else:
        break

print(index)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())

ans = 0
while x <= y:
    ans += 1
    x *= 2

print(ans)

Submission status: Accepted

Solution code:
#import collections
#aa = collections.Counter(a) # list to list
def readInts():
  return list(map(int,input().split()))
mod = 10**9 + 7
def main():
    x,y = readInts()
    now = x
    cnt = 0
    while now <= y:
        now *= 2
        cnt += 1
    print(cnt)



if __name__ == '__main__':
  main()

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())
ans = 0
now = X
while now <= Y:
    now *= 2
    ans += 1
print(ans)

Submission status: Accepted

Solution code:
import sys
from io import StringIO
import unittest


# https://atcoder.jp/contests/abc083/tasks/arc088_a
# 入力例1、間違ってね?
# 入力；3 20 で、出力3。これは分かるが・・「数式3,6,18」が条件を満たします。->「3,6,12」じゃね?
# その前提でやってみよう。

def resolve():
    # ★get input
    x, y = map(int, input().split())

    count = 0
    work_x = x
    while work_x <= y:
        count += 1
        work_x = work_x*2

    print(count)



class TestClass(unittest.TestCase):
    def assertIO(self, input, output):
        stdout, stdin = sys.stdout, sys.stdin
        sys.stdout, sys.stdin = StringIO(), StringIO(input)
        resolve()
        sys.stdout.seek(0)
        out = sys.stdout.read()[:-1]
        sys.stdout, sys.stdin = stdout, stdin
        self.assertEqual(out, output)
    def test_入力例_1(self):
        input = """3 20"""
        output = """3"""
        self.assertIO(input, output)
    def test_入力例_2(self):
        input = """25 100"""
        output = """3"""
        self.assertIO(input, output)
    def test_入力例_3(self):
        input = """314159265 358979323846264338"""
        output = """31"""
        self.assertIO(input, output)

if __name__ == "__main__":
    # unittest.main()
    resolve()

Submission status: Accepted

Solution code:
x,y=map(int, input().split()) 

tmp=x
cnt=0
while(tmp<=y):
    cnt+=1
    tmp = tmp*2
print(cnt)

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-
# C - Multiple Gift
# 標準入力の取得
X,Y = list(map(int, input().split()))

# 求解処理
# Xをどんどん2倍していき、それがYを超えるまでやる
max_length = 0
while X <= Y:
    max_length += 1
    X *= 2

# 結果出力
print(max_length)

Submission status: Accepted

Solution code:
from collections import deque
from copy import copy,deepcopy
from itertools import permutations,combinations
from pprint import pprint

def myinput():
    return map(int,input().split())

def mycol(data,col):
    return [ row[col] for row in data ]

def mysort(data,col):
    data.sort(key=lambda x:x[col],reverse=False)
    return data

def mymax(data):
    M = -1*float("inf")
    for i in range(len(data)):
        m = max(data[i])
        M = max(M,m)
    return M

def mymin(data):
    m = float("inf")
    for i in range(len(data)):
        M = min(data[i])
        m = min(m,M)
    return m

x,y = myinput()

ans = []
na = copy(x)

while na<=y:
    ans.append(na)
    na = 2*na
# print(ans)

print(len(ans))

Submission status: Accepted

Solution code:
X,Y=list(map(int, input().split()))
present=[X]
i=0
while present[i]<=Y:
    present.append(present[i]*2)
    i=i+1

print(len(present)-1)

Submission status: Accepted

Solution code:
x,y= list(map(int, input().split()))
ans=1
now=x
while True:
    if 2*now<=y:
        now*=2
        ans+=1
    else:
        print(ans)
        exit(0)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())

ans = 0
while x <= y:
    x *= 2
    ans += 1

print(ans)

Submission status: Accepted

Solution code:
x,y=map(int,input().split())
ans=1
for i in range(1000):
  x=x*2
  ans+=1
  if x>=y:
    break
print(ans+(0 if x==y else (-1)))

Submission status: Accepted

Solution code:
x, y = map(int, input().split())
num = 0
while x <= y:
    x *= 2
    num += 1
print(num)

Submission status: Accepted

Solution code:
# coding: utf-8

# https://atcoder.jp/contests/abc083/tasks/arc088_a
# 17:19-


def main():
    X, Y = map(int, input().split())

    ans = 0
    x = X
    while True:
        if x > Y:
            return ans

        ans += 1
        x *= 2


print(main())

Submission status: Accepted

Solution code:
import sys
from io import StringIO
import unittest

def resolve():
    x, y = map(int, input().split())

    ans = [x]

    while 1:
        tmp = ans[-1] * 2
        if tmp > y:
            break
        else:
            ans.append(tmp)
            
    print(len(ans))

class TestClass(unittest.TestCase):
    def assertIO(self, input, output):
        stdout, stdin = sys.stdout, sys.stdin
        sys.stdout, sys.stdin = StringIO(), StringIO(input)
        resolve()
        sys.stdout.seek(0)
        out = sys.stdout.read()[:-1]
        sys.stdout, sys.stdin = stdout, stdin
        self.assertEqual(out, output)
    def test_入力例_1(self):
        input = """3 20"""
        output = """3"""
        self.assertIO(input, output)
    def test_入力例_2(self):
        input = """25 100"""
        output = """3"""
        self.assertIO(input, output)
    def test_入力例_3(self):
        input = """314159265 358979323846264338"""
        output = """31"""
        self.assertIO(input, output)

if __name__ == "__main__":
    #unittest.main()
    resolve()

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())
count = 0
while X <= Y:
  X *= 2
  count += 1
print(count)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())

ans = 0
while True:
    if x > y:
        break
    x *= 2
    ans += 1

print(ans)

Submission status: Accepted

Solution code:
X,Y = map(int,input().split())
ans = []
ans.append(X)

while max(ans)*2 <= Y:
    ans.append(max(ans)*2)
print(len(ans))

Submission status: Accepted

Solution code:
X,Y = map(int,input().split())
count = 1

while True:
  if X*2 <= Y:
    count +=1
    X = X*2
  else:
    break
    
print(count)

Submission status: Accepted

Solution code:
X,Y = map(int,input().split())

ans = 0
tmp = X

while tmp <= Y:
    ans += 1
    tmp = tmp*2
    
print(ans)

Submission status: Accepted

Solution code:
x,y = map(int,input().split())
cnt = 0
while y >= x:
    cnt += 1
    x *= 2
print(cnt)

Submission status: Accepted

Solution code:
#!/usr/bin/env python3
import sys


def solve(X: int, Y: int):
    print((Y // X).bit_length())


def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    X = int(next(tokens))  # type: int
    Y = int(next(tokens))  # type: int
    solve(X, Y)


if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
x,y = map(int,input().split())
ans = 0
while x <= y:
  ans += 1
  x *= 2
print(ans)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())
count = 1
while x <= y:
    x *= 2
    count += 1
print(count-1)

Submission status: Accepted

Solution code:
import math

x,y = map(int,input().split())

ans = 1
a = y
for i in range(10**9) :
  if a < x or a == 1:
    break
  x_t = x
  ans_t = 1
  for j in range(10**9) :
    x_t = x_t*2
    if x_t > y :
      break
    ans_t += 1
  ans = max(ans,ans_t)
  a = math.floor(a**0.5)

print(ans)

Submission status: Accepted

Solution code:
a,b = map(int, input().split())

r = 1
while True :
  if a*2 > b :
    break
  r+=1
  a = 2*a
  
print(r)

Submission status: Accepted

Solution code:
from math import log
x, y = map(int, input().split())
for i in range(64):
    x *= 2
    if x > y:
        print(i + 1)
        exit()

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())

a=X
cnt=1
while a <= Y:
    a *= 2
    if a <= Y:
        cnt+=1
print(cnt)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())
ans = 0
num = x
while num <= y:
  num *= 2
  ans += 1
print(ans)

Submission status: Accepted

Solution code:
x,y = map(int, input().split())
count = 0

while x<=y:
    x *= 2
    count += 1

print(count)

Submission status: Accepted

Solution code:
x,y = map(int,input().split())
a = y // x
for i in range(100):
    if 2 ** i > a:
        print(i)
        break

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())

count = 1
a = X

while a * 2 <= Y:
  a *= 2
  count += 1

print(count)

Submission status: Accepted

Solution code:
import sys
input = sys.stdin.readline

def main():
    a, b = map(int, input().split())
    ans = 0
    while a <= b:
        ans += 1
        a *= 2
    print(ans)


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
import sys
sys.setrecursionlimit(10000)

x,y = map(int,input().split())


if y == x:
    print(1)
    exit()

asn = 0
def dfs(x,y,n):
    
    n += 1
    ans = x*2**n
    if ans > y:
        return n
    else:
        return dfs(x,y,n)

a = dfs(x,y,1)

print(a)

Submission status: Accepted

Solution code:
import sys
sys.setrecursionlimit(10000)

x,y = map(int,input().split())

if y == 1:
    print(1)
    exit()

if y == x:
    print(1)
    exit()



asn = 0
def dfs(x,y,n):
    
    n += 1
    ans = x*2**n
    if ans > y:
        return n
    else:
        return dfs(x,y,n)

a = dfs(x,y,1)

print(a)

Submission status: Accepted

Solution code:
x, y = list(map(int, input().split()))
ans = 0
while x <= y:
    ans += 1
    x *= 2
print(ans)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())
ans = 0
while True:
    if x > y:
        break
    ans += 1
    x *= 2
print(ans)

Submission status: Accepted

Solution code:
x,y=map(int,input().split())
ans=1
while 2*x<=y:
    x*=2
    ans+=1
print(ans)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())
ans = 1
while x <= y:
    x *= 2 
    if x > y:
        break 
    ans += 1

print(ans)

Submission status: Accepted

Solution code:
x,y = map(int, input().split())
i = 0
c = 0
while c <= y:
    i += 1
    c  = x * (2**i)
print(i)

Submission status: Accepted

Solution code:
x,y = map(int,input().split())
r = 1
for i in range(1,10**3):
  if x * r > y:
    print(i-1)
    exit()
  r *= 2

Submission status: Accepted

Solution code:
def main():
    f, t = [int(v) for v in input().split(' ')]
    count = 0
    d = 1
    tmp = f
    while True:
        tmp = tmp * 2
        if tmp > t:
            break
        count += 1

    print(count + 1)



if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
def resolve():
    X,Y=map(int,input().split())
    cnt=0
    while X<=Y:
        X=X*2
        cnt+=1
    print(cnt)

resolve()

Submission status: Accepted

Solution code:
# Author: cr4zjh0bp
# Created: Sat Mar 28 15:38:17 UTC 2020
import sys
 
stdin = sys.stdin
inf = 1 << 60
mod = 1000000007
 
ni      = lambda: int(ns())
nin     = lambda y: [ni() for _ in range(y)]
na      = lambda: list(map(int, stdin.readline().split()))
nan     = lambda y: [na() for _ in range(y)]
nf      = lambda: float(ns())
nfn     = lambda y: [nf() for _ in range(y)]
nfa     = lambda: list(map(float, stdin.readline().split()))
nfan    = lambda y: [nfa() for _ in range(y)]
ns      = lambda: stdin.readline().rstrip()
nsn     = lambda y: [ns() for _ in range(y)]
ncl     = lambda y: [list(ns()) for _ in range(y)]
nas     = lambda: stdin.readline().split()

x, y = na()

ans = 0
while y >= x:
    y //= 2
    ans += 1

print(ans)

Submission status: Accepted

Solution code:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-


def main():
    X, Y = map(int, input().split())
    result = 0
    while X <= Y:
        result += 1
        X *= 2
    print(result)


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
import sys
from math import sqrt
from collections import Counter

input = sys.stdin.readline


def I():
    return int(input())


def MI():
    return map(int, input().split())


def LI():
    return list(MI())


inf = float("inf")
mod = 10 ** 9 + 7


def main():
    x, y = MI()

    c = 0
    while x <= y:
        c += 1
        x *= 2

    print(c)
    pass


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
import math
x,y=map(int,input().split())
ans=0
while x<=y:
    x*=2
    ans+=1
print(ans)

Submission status: Accepted

Solution code:
import math
x,y=map(int,input().split())
k=math.floor(math.log2(y/x))

for i in range(k+3):
    if x*(2**i)>y:
        print(i)
        break

Submission status: Accepted

Solution code:
X, Y = list(map(int, input().split()))

cnt = 1
x = X
while True:
    x = 2 * x
    if x > Y:
        break
    cnt += 1
print(cnt)

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())
ans = 0
a = X

while a<=Y:
    a *= 2
    ans += 1

print(ans)

Submission status: Accepted

Solution code:
x,y = map(int,input().split())
ans=0
while x*2**ans<=y: ans+=1
print(ans)

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())

cnt = 1
k = X
while k * 2 <= Y:
    cnt += 1
    k *= 2

print(cnt)

Submission status: Accepted

Solution code:
x,y = map(int,input().split())
count = 1
while True:
  x = 2*x
  if x <= y:
    count+=1
  else:
    break
    
print(count)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())

ans = 1
while x * 2 ** ans <= y:
    ans += 1

print(ans)

Submission status: Accepted

Solution code:
S = input().split(" ")
X = int(S[0])
Y = int(S[1])

def calculate(x,y):
    i = 0

    while x * (2 ** i) <=y:
        i = i + 1

    print(i)

calculate(X,Y)

Submission status: Accepted

Solution code:
x,y=map(int,input().split())
cnt=0
while x<=y:
  x=x*2
  cnt+=1
print(cnt)

Submission status: Accepted

Solution code:
X,Y=map(int,input().split(' '))
ans = 0
while X<=Y:
    ans +=1
    X *=2
print(ans)

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())

ans = 0
ai = X
while ai <= Y:
    ai = 2 * ai
    ans += 1
print(ans)

Submission status: Accepted

Solution code:
import math
x, y = map(int, input().split())
tmp = x
cnt = 0
while y>=tmp:
    tmp = tmp * 2
    cnt += 1
print(cnt)

Submission status: Accepted

Solution code:
import math

x,y = map(int,input().split())
"""
値をどんどん2倍していって、それがyを超えないかを検証し、越えなければカウントを増やす
"""

count = 0
origin = x
while True:
  if origin <= y:
    count+=1
    origin = origin * 2
  else:
    break
    
print(count)

Submission status: Accepted

Solution code:
def solve():
    X, Y = map(int,input().split())
    cnt = 0
    while X <= Y:
        cnt += 1
        X *= 2
    
    print(cnt)
        
if __name__ == '__main__':
    solve()

Submission status: Accepted

Solution code:
x,y=map(int,input().split())
               
iimax=int(18/3*10+1)        

m=y//x

i2=1
for i in range(iimax):
  if m<2*i2:
      print(i+1)
      break
  else :
      i2=i2*2

Submission status: Accepted

Solution code:
x,y=map(int,input().split());a=0
while x<=y:x*=2;a+=1
print(a)

Submission status: Accepted

Solution code:
x,y = map(int, input().split())
ans = 0
while x <= y:
  ans += 1
  x *= 2
  
print(ans)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())
ans = 0
while y >= x:
    y //= 2
    ans += 1
print(ans)

Submission status: Accepted

Solution code:
x,y = map(int,input().split())
count = 0

ans = x
while ans <= y:
  ans = ans * 2
  count = count + 1

print(count)

Submission status: Accepted

Solution code:
X, Y = map(int, input().split())

ans = 0

while X <= Y:
    X *= 2
    ans += 1

print(ans)

Submission status: Accepted

Solution code:
X,Y = map(int,input().split())

ans = [X]
while 1:
    X *= 2
    if X <= Y:
        ans.append(X)
    else:
        break
print(len(ans))

Submission status: Accepted

Solution code:
x,y=map(int,input().split())
print(len(bin(y//x))-2)

Submission status: Accepted

Solution code:
x,y = map(int,input().split())
count = 1
while True:
    if x * 2 <= y:
        count+=1
        x*=2
    else:
        break
print(count)

Submission status: Accepted

Solution code:
x,y = map(int,input().split())
cnt = 0
while True:
    if x > y:
        break
    else:
        cnt+=1
        x *= 2
print(cnt)

Submission status: Accepted

Solution code:
X,Y = map(int,input().split())
ans = 0
while Y>=X:
    ans += 1
    X*=2
print(ans)

Submission status: Accepted

Solution code:
x, y = map(int, input().split())
ans = 0
while x <= y:
    ans += 1
    x *= 2
print(ans)

Submission status: Accepted

Solution code:
x,y=map(int,input().split())
i=0
while x*2**i<=y:
	i+=1
print(i)

Submission status: Accepted

Solution code:
x, y = [int(i) for i in input().split()]
n = x
cnt = 0
while n <= y:
    cnt += 1
    n *= 2
print(cnt)

Submission status: Accepted

Solution code:
X,Y = map(int,input().split())
ans = 0
while Y>=X:
  ans += 1
  X*=2
print(ans)

Submission status: Accepted

Solution code:
#!/usr/bin/env python3

import sys

DEBUG = False

def read(t):
    return t(sys.stdin.readline().rstrip())


def read_list(t, sep = " "):
    return [t(s) for s in sys.stdin.readline().rstrip().split(sep)]


def dprint(*args, **kwargs):
    if DEBUG:
        print(*args, **kwargs)
    return


def main():
    x, y = read_list(int)
    length = 0
    while x <= y:
        x *= 2
        length += 1
    print(length)


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
x,y = map(int,input().split())

ans = 0
sy = x
while sy <= y:
    sy *= 2
    ans += 1

print(ans)

Submission status: Accepted

Solution code:
x,y=map(int,input().split());print(len(bin(y//x))-2)

Submission status: Accepted

Solution code:
x,y=map(int,input().split())
ans=0
while x<=y:
    ans+=1
    x*=2
print(ans)

Submission status: Accepted

Solution code:
x,y = map(int,input().split())
ans = 0
while(x<=y):
    x*=2
    ans += 1
print(ans)

Submission status: Accepted

Solution code:
X, Y = [int(i) for i in input().split()]

output = 0

while Y >= X:
    X = 2 * X
    output += 1
    
print(output)