code: def _einsum_equation(input_shapes, output_shape):
    
    ret = []
    next_letter = ord("a")
    dim_to_letter = {}
    for shape_num, shape in enumerate(input_shapes + [output_shape]):
      if shape_num == len(input_shapes):
        ret.append("->")
      elif shape_num > 0:
        ret.append(",")
      for d in shape.dims:
        if d not in dim_to_letter:
          dim_to_letter[d] = chr(next_letter)
          next_letter += 1
        ret.append(dim_to_letter[d])
  
    return "".join(ret)
docs: Turn shapes into an einsum equation.
  
    e.g. "ij,jk->ik"
  
    Args:
      input_shapes: a list of Shapes
      output_shape: a Shape
    Returns:
      a string