






"""simple docstring"""





def 							A(    snake_case_						):
       """simple docstring"""





       lowercase__:							Tuple         =     len(snake_case_						)

       # Set the gap value to be decreased by a factor of 1.3
       # after each iteration
       lowercase__:							Dict         =     1.3

       # Continue sorting until the gap is 1
       while gap > 1:
              # Decrease the gap value
              lowercase__:							Optional[Any]         =     int(gap / shrink						)

              # Sort the elements using insertion sort
              for i in range(snake_case_		,  len(snake_case_						)						):
                     lowercase__:							int         =     collection[i]
                     lowercase__:							Optional[Any]         =     i
                     while j >= gap and collection[j - gap] > temp:
                            lowercase__:							Tuple         =     collection[j - gap]
                            j -= gap
                     lowercase__:							List[Any]         =     temp

       return collection


if __name__ == "__main__":
  import doctest

  doctest.testmod()










"""simple docstring"""





from doctest import testmod
from math import sqrt


def   _snake_case    (    _snake_case					:      int      ):
      lowerCAmelCase       :						list[int]							= []
      if num < 1:
            return facs
      facs.append(1      )
      if num == 1:
            return facs
      facs.append(_snake_case      )
      for i in range(2			, int(sqrt(_snake_case      )      ) + 1      ):
            if num % i == 0:  # If i is a factor of num
                  facs.append(_snake_case      )
                  lowerCAmelCase       :						Dict							= num // i  # num//i is the other factor of num
                  if d != i:  # If d and i are distinct
                        facs.append(_snake_case      )  # we have found another factor
      facs.sort()
      return facs


if __name__ == "__main__":
 testmod(name='''factors_of_a_number''', verbose=True)


