




from doctest import testmod
from math import sqrt







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


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








def   snake_case_    (			__lowercase      ,							__lowercase      ,							__lowercase      ,							__lowercase							):
   UpperCAmelCase_				:   Optional[int]							= int((lower_bound + upper_bound) // 2							)
   if array[r] == value:
      return r
   if lower_bound >= upper_bound:
      return -1
   if array[r] < value:
      return binary_search(__lowercase      ,							r + 1      ,							__lowercase      ,							__lowercase							)
   else:
      return binary_search(__lowercase      ,							__lowercase      ,							r - 1      ,							__lowercase							)
def   snake_case_    (			__lowercase      ,							__lowercase							):
   UpperCAmelCase_				:   Union[str, Any]							= 0
   if matrix[index][0] == value:
      return [index, 0]
   while index < len(__lowercase							) and matrix[index][0] < value:
      UpperCAmelCase_				:   str							= binary_search(matrix[index]      ,							0      ,							len(matrix[index]							) - 1      ,							__lowercase							)
      if r != -1:
         return [index, r]
      index += 1
   return [-1, -1]


if __name__ == "__main__":
       import doctest

       doctest.testmod()