def gammac(n):
    return "0" * (n.bit_length() - 1) + f"{n:b}"

def degammac1(s):
    return int(s[len(s) - len(s.lstrip("0")) : (len(s) - len(s.lstrip("0")))*2+1], base=2)

def degammac_(s):
    if type(s) != str or len(s) == 0: return False
    l = len(s) - len(s.lstrip("0"))
    return (int(s[l:l*2+1], base=2), s[l*2+1:])

def degammac(s):
    a = []
    while degammac_(s):
      n, s = degammac_(s)
      a.append(n)
    return a


# only for integers greater or equal to 1