def set_Right_most_Unset_Bit(n):
    import math 
    def get_Pos_Of_Right_most_Set_Bit(n): 
        return int(math.log2(n&-n)+1)   
     
    if (n == 0): 
        return 1
    if ((n & (n + 1)) == 0):     
        return n 
    pos = get_Pos_Of_Right_most_Set_Bit(~n)      
    return ((1 << (pos - 1)) | n) 
def set_Right_most_Unset_Bit(l):
    import math
    def get_Pos_Of_Right_most_Set_Bit(l):
        return int(math.log2(l & -l) + 1)
    if l == 0:
       
        return 1
    if (l & (l + 1)) == 0:
        return l
    pos = get_Pos_Of_Right_most_Set_Bit(~l)
    return (1 << (pos - 1)) | l