N= 30951344
L= 201310
U= 3567891
n_bits = len ( bin( N) [ 2 :] )
n_mask = ( 1 << n_bits) - 1
n_mask ^= N
M = L
if L < n_mask < U:
M = n_mask
else :
for i in range ( L+1 , U) :
M = ( n_mask & i) if ( n_mask & i) > M else M
print "L %-15d %32s" % ( L, bin( L) [ 2 :] )
print "M %-15d %32s" % ( M, bin( M) [ 2 :] )
print "U %-15d %32s" % ( U, bin( U) [ 2 :] )
print "N %-15d %32s" % ( N, bin( N) [ 2 :] )
print "NM %-15d %32s" % ( N|M, bin( N|M) [ 2 :] )
Tj0zMDk1MTM0NApMPTIwMTMxMApVPTM1Njc4OTEKCm5fYml0cyA9IGxlbihiaW4oTilbMjpdKQpuX21hc2sgPSAoMSA8PCBuX2JpdHMpIC0gMQpuX21hc2sgXj0gTgpNID0gTAppZiBMIDwgbl9tYXNrIDwgVToKCU0gPSBuX21hc2sKZWxzZToKCWZvciBpIGluIHJhbmdlKEwrMSwgVSk6CgkJTSA9IChuX21hc2sgJiBpKSBpZiAobl9tYXNrICYgaSkgPiBNIGVsc2UgTQoKcHJpbnQgIkwgICUtMTVkICUzMnMiICUgKEwsIGJpbihMKVsyOl0pCnByaW50ICJNICAlLTE1ZCAlMzJzIiAlIChNLCBiaW4oTSlbMjpdKQpwcmludCAiVSAgJS0xNWQgJTMycyIgJSAoVSwgYmluKFUpWzI6XSkKcHJpbnQgIk4gICUtMTVkICUzMnMiICUgKE4sIGJpbihOKVsyOl0pCnByaW50ICJOTSAlLTE1ZCAlMzJzIiAlIChOfE0sIGJpbihOfE0pWzI6XSkKCg==