Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import *
- a=int(input())
- b=int(input())
- n = ""
- while b> 0:
- y = str(b % 2)
- n = y + n
- b = int(b / 2)
- lg=int(log2(a))
- n="0"*(lg+1-len(n))+n
- s=n
- g=n.count("1")
- if(g==0):
- if(a>=1):
- print(1)
- exit()
- else:
- print(-1)
- exit()
- k=len(s)-1
- l=True
- p=len(s)-1
- q=False
- u=False
- j=0
- while(j<len(s)):
- if(s[j]=="0"):
- q=True
- else:
- if(s[j]=="1" and q):
- u=True
- break;
- j+=1
- if(u==False):
- s="0"*(len(n)-g-1)+"1"*(g+1)
- if(int(s,2)<=a):
- print(int(s,2))
- else:
- print(-1)
- exit()
- while(k>=1):
- if((n[k]=="1")and(n[k-1]=="0")):
- s=s[0:k-1]+"10"+s[k+1:len(s)]
- break;
- else:
- if(n[k]=="1"):
- s=s[0:k]+"0"+s[k+1:len(s)]
- s=s[0:p]+"1"+s[p+1:len(s)]
- p-=1
- k-=1
- if((int(s,2)<=a)and(s!=n)):
- print(int(s,2))
- else:
- s="0"*(len(n)-g-1)+"1"*(g+1)
- if(int(s,2)<=a):
- print(int(s,2))
- else:
- print(-1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement