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(i):
    import math
    def get_Pos_Of_Right_most_Set_Bit(i):
        return int(math.log2(i & -i) + 1)
    if i == 0:
       
        return 1
    if (i & (i + 1)) == 0:
        return i
    pos = get_Pos_Of_Right_most_Set_Bit(~i)
    return (1 << (pos - 1)) | i