#!python

from __future__ import division, print_function
import sys

def main():
    if len(sys.argv) == 2:
        number = int(sys.argv[1], base=0)
        bits = bin(number)[2:]

        if bits == 0:
            print("0 needs no bits")
            return 0

        onbits = []
        for i, b in enumerate(reversed(bits)):
            if int(b):
                onbits.append(i)

        print("The following bits were on (bit, 2**bit)...")
        for b in onbits:
            print("{0}\t({1})".format(b, 2**b))
    else:
        print("Must specify a number as the only argument")
        return 1
    return 0

if __name__ == "__main__":
    sys.exit(main())

##
## EOF
##
