






'''simple docstring'''







def 						_UpperCamelCase							(     snake_case__							):
      __A		   =      len(snake_case__							)
      for cycle_start in range(0							,			array_len - 1							):
            __A		   =      array[cycle_start]

            __A		   =      cycle_start
            for i in range(cycle_start + 1							,			snake_case__							):
                  if array[i] < item:
                        pos += 1

            if pos == cycle_start:
                  continue

            while item == array[pos]:
                  pos += 1

            __A   ,				__A		   =      item, array[pos]
            while pos != cycle_start:
                  __A		   =      cycle_start
                  for i in range(cycle_start + 1							,			snake_case__							):
                        if array[i] < item:
                              pos += 1

                  while item == array[pos]:
                        pos += 1

                  __A   ,				__A		   =      item, array[pos]

      return array


if __name__ == "__main__":
       assert cycle_sort([4, 5, 3, 2, 1]) == [1, 2, 3, 4, 5]
       assert cycle_sort([0, 1, -1_0, 1_5, 2, -2]) == [-1_0, -2, 0, 1, 2, 1_5]










'''simple docstring'''







def 						_UpperCamelCase							(     snake_case__							,			snake_case__							):
      if n < 0:
            return 0
      # table[i] represents the number of ways to get to amount i
      __A		   =      [0] * (n + 1)

      # There is exactly 1 way to get to zero(You pick no coins).
      __A		   =      1

      # Pick all coins one by one and update table[] values
      # after the index greater than or equal to the value of the
      # picked coin
      for coin_val in s:
            for j in range(snake_case__							,			n + 1							):
                  table[j] += table[j - coin_val]

      return table[n]


if __name__ == "__main__":
       import doctest

       doctest.testmod()


