




def      lowerCAmelCase_     (					lowerCamelCase:    Any       ,			lowerCamelCase:    Optional[int]  )   ->     Dict:


      '''simple docstring'''




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

      # There is exactly 1 way to get to zero(You pick no coins).
      lowerCamelCase__ 					=			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(lowerCamelCase       ,			n + 1  ):
                  table[j] += table[j - coin_val]

      return table[n]


if __name__ == "__main__":
      import doctest

      doctest.testmod()





def      lowerCAmelCase_     (					lowerCamelCase:    Optional[int]  )   ->     Union[str, Any]:


      '''simple docstring'''




      lowerCamelCase__ 					=			[7_01, 3_01, 1_32, 57, 23, 10, 4, 1]
      for gap in gaps:
            for i in range(lowerCamelCase       ,			len(lowerCamelCase  )  ):
                  lowerCamelCase__ 					=			collection[i]
                  lowerCamelCase__ 					=			i
                  while j >= gap and collection[j - gap] > insert_value:
                        lowerCamelCase__ 					=			collection[j - gap]
                        j -= gap
                  if j != i:
                        lowerCamelCase__ 					=			insert_value
      return collection


if __name__ == "__main__":
      from doctest import testmod

      testmod()
      __SCREAMING_SNAKE_CASE      :				List[Any]				      =input("""Enter numbers separated by a comma:\n""").strip()
      __SCREAMING_SNAKE_CASE      :				Dict				      =[int(item) for item in user_input.split(""",""")]
      print(shell_sort(unsorted))