':type num: int
:rtype: List[str]'

def readBinaryWatch(self, num):

    def bit_count(bits):
        count = 0
        while bits:
            bits &= (bits - 1)
            count += 1
        return count
    return [('%d:%02d' % (h, m)) for h in xrange(12) for m in xrange(60) if ((bit_count(h) + bit_count(m)) == num)]
