code: def distributedConnectionMap(names: List[str]) -> OrderedDict:
      
      names.sort()
      combos = list(itertools.combinations(names, 2))
      maxPer = math.ceil(len(list(combos)) / len(names))
      # maxconns = math.ceil(len(names) / 2)
      connmap = OrderedDict((n, []) for n in names)
      for a, b in combos:
          if len(connmap[a]) < maxPer:
              connmap[a].append(b)
          else:
              connmap[b].append(a)
      return connmap
docs: Create a map where every node is connected every other node.
      Assume each key in the returned dictionary to be connected to each item in
      its value(list).
  
      :param names: a list of node names
      :return: a dictionary of name -> list(name).