
def 							SCREAMING_SNAKE_CASE_	(					UpperCAmelCase_	:     int				)			->						int:
       if not isinstance(UpperCAmelCase_			,							UpperCAmelCase_				):
              raise ValueError('''Input must be an integer'''				)
       if input_num <= 0:
              raise ValueError('''Input must be positive'''				)
       return sum(
           divisor for divisor in range(1			,							input_num // 2 + 1				) if input_num % divisor == 0				)


if __name__ == "__main__":
 import doctest

 doctest.testmod()


def 							SCREAMING_SNAKE_CASE_	(					UpperCAmelCase_	:     list				)			->						float:
       SCREAMING_SNAKE_CASE_							:				Dict		=0
       while len(UpperCAmelCase_				) > 1:
              SCREAMING_SNAKE_CASE_							:				Tuple		=0
              # Consider two files with minimum cost to be merged
              for _ in range(2				):
                     SCREAMING_SNAKE_CASE_							:				int		=files.index(min(UpperCAmelCase_				)				)
                     temp += files[min_index]
                     files.pop(UpperCAmelCase_				)
              files.append(UpperCAmelCase_				)
              optimal_merge_cost += temp
       return optimal_merge_cost


if __name__ == "__main__":
 import doctest

 doctest.testmod()
