def bits_to_mask(n):
if n < 0 or n > 32:
raise ValueError('Bit count must be between 0 and 32')
mask = (~((1 << (32 - n)) - 1)) & 0xFFFFFFFF
return '.'.join(map(str, ((mask >> (8 * i)) & 0xFF for i in range(3, -1, -1))))
print(bits_to_mask(0))
print(bits_to_mask(12))
print(bits_to_mask(24))
print(bits_to_mask(29))
print(bits_to_mask(32))
ZGVmIGJpdHNfdG9fbWFzayhuKToKICAgIGlmIG4gPCAwIG9yIG4gPiAzMjoKICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdCaXQgY291bnQgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDMyJykKICAgIG1hc2sgPSAofigoMSA8PCAoMzIgLSBuKSkgLSAxKSkgJiAweEZGRkZGRkZGCiAgICByZXR1cm4gJy4nLmpvaW4obWFwKHN0ciwgKChtYXNrID4+ICg4ICogaSkpICYgMHhGRiBmb3IgaSBpbiByYW5nZSgzLCAtMSwgLTEpKSkpCgpwcmludChiaXRzX3RvX21hc2soMCkpCnByaW50KGJpdHNfdG9fbWFzaygxMikpCnByaW50KGJpdHNfdG9fbWFzaygyNCkpCnByaW50KGJpdHNfdG9fbWFzaygyOSkpCnByaW50KGJpdHNfdG9fbWFzaygzMikp