docs: def A(g,i):
      """recursively constructs A line for g; i = len(g)-1"""
      g1 = g&(2**i)
      if i:
          n = Awidth(i)
          An = A(g,i-1)
          if g1:
              return An<<n | An
          else:
              return int('1'*n,2)<<n | An
      else:
          if g1:
              return int('00',2)
          else:
              return int('10',2)