


def       _lowerCAmelCase    (				lowerCAmelCase_				:int				)->str:
   '''simple docstring'''






   snake_case_            =       1
   snake_case_            =       2
   while i * i <= n:
      snake_case_            =       0
      while n % i == 0:
         n //= i
         multiplicity += 1
      n_divisors *= multiplicity + 1
      i += 1
   if n > 1:
      n_divisors *= 2
   return n_divisors



def       _lowerCAmelCase    (				)->Optional[Any]:
   '''simple docstring'''






   snake_case_            =       1
   snake_case_            =       1

   while True:
      i += 1
      t_num += i

      if count_divisors(lowerCAmelCase_				) > 500:
         break

   return t_num


if __name__ == "__main__":
   print(solution())








import importlib.metadata
from typing import Union

from packaging.version import Version, parse

from .constants import STR_OPERATION_TO_FUNC


SCREAMING_SNAKE_CASE						:Union[str, Any]			=  parse(importlib.metadata.version('''torch'''))



def       _lowerCAmelCase    (				lowerCAmelCase_				:Union[str, Version]		,    lowerCAmelCase_				:str		,    lowerCAmelCase_				:str				)->Any:
   '''simple docstring'''






   if operation not in STR_OPERATION_TO_FUNC.keys():
      raise ValueError(F'''`operation` must be one of {list(STR_OPERATION_TO_FUNC.keys()				)}, received {operation}'''				)
   snake_case_            =       STR_OPERATION_TO_FUNC[operation]
   if isinstance(lowerCAmelCase_		,    lowerCAmelCase_				):
      snake_case_            =       parse(importlib.metadata.version(lowerCAmelCase_				)				)
   return operation(lowerCAmelCase_		,    parse(lowerCAmelCase_				)				)



def       _lowerCAmelCase    (				lowerCAmelCase_				:str		,    lowerCAmelCase_				:str				)->Any:
   '''simple docstring'''






   return compare_versions(lowerCAmelCase_		,    lowerCAmelCase_		,    lowerCAmelCase_				)




