code: def permutations(iterable):
      """permutations(range(3), 2) --> (0,1) (0,2) (1,0) (1,2) (2,0) (2,1)"""
      out = []
      pool = tuple(iterable)
      n = len(pool)
      r = n
      indices = list(range(n))
      cycles = list(range(n - r + 1, n + 1))[::-1]
      out.append(tuple([pool[i] for i in indices[:r]]))
      while 1:
          for i in reversed(range(r)):
              cycles[i] -= 1
              if cycles[i] == 0:
                  indices[i:] = indices[i + 1 :] + indices[i : i + 1]
                  cycles[i] = n - i
              else:
                  j = cycles[i]
                  indices[i], indices[-j] = indices[-j], indices[i]
                  out.append(tuple([pool[i] for i in indices[:r]]))
                  break
          else:
              return out
  
label_desc: Use image node_id 1 for calling a global function with example usage: permutations(iterable) and returns: out