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)