num=int(input())

# 1.把十进制转化为二进制
str1=''
while num > 0:
    num1=num%2
    num=num//2
    str1=str1+str(num1)
# str倒序下就是二进制的数
str2=str1[::-1]

# 2.二进制数判断1的最大连接数
# (1)如果二进制数长度等于1,返回1(因为题目数据定义,所以次数不会等于0)
if len(str2)==1:
    print(1)
else:
    # (2)如果二进制长度大于1.遍历二进制每个字符,如果当前字符与上一个字符相等且等于1,count加1,并且存到list1中
    count=0
    list1=[]
    for i in range(1,len(str2)):
        if int(str2[i])==1 and str2[i]==str2[i-1]:
            count=count+1
            list1.append(count)
        # (3)不存在当前字符与上一个字符均等于1,count重置为0
        else:
            count=0
    # (4)如果list1不存在数据,返回1
    if len(list1)==0:
        print(1)
    else:
        # (5)如果list1有数据,取list1最大值加1
        print(max(list1)+1)