while True: try:

    n = int(input())  # 获取整数
    if  n<1 or n>500000:
        break
    s= bin(n)   # 转换二进数
    t = str(s).replace('0b', '')  # 字符串转换去掉0b
    v = t.split('0')                # 从0截取,获取列表
    p = set(v)
    #print(p)
    print(len(str(max(p))))   # 这步参考解析,利用了集合去重('','1','11'),反正1越多,max的值越大,再转成字符串,计数,比我的循环要快

one_num = 0

#print(v)

for i in v :

if len(i)>=one_num:

one_num=len(i)

print(one_num)

except:
    break