code: def combinations(n, c):
      m = n - 1
      positions = range(c)
      while True:
          yield tuple(positions)
          success = False
          lastPi = m
          for i in xrange(c - 1, -1, -1):
              pi = positions[i]
              if pi < lastPi:
                  pi += 1
                  for j in xrange(i, c):
                      positions[j] = pi
                      pi += 1
                  success = True
                  break
              lastPi = pi - 1
          if not success:
              break
  
label_desc: Use image node_id 4 for calling a global function with example usage: combinations(n, c) without return types