





"""simple docstring"""


def 				a__      (	_UpperCAmelCase						,  _UpperCAmelCase						,  _UpperCAmelCase						,  _UpperCAmelCase						)     ->	int:

 '''simple docstring'''






 snake_case__     				=					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(_UpperCAmelCase						,  r + 1						,  _UpperCAmelCase						,  _UpperCAmelCase						)
 else:
  return binary_search(_UpperCAmelCase						,  _UpperCAmelCase						,  r - 1						,  _UpperCAmelCase						)





def 				a__      (	_UpperCAmelCase						,  _UpperCAmelCase						)     ->	list:

 '''simple docstring'''






 snake_case__     				=					0
 if matrix[index][0] == value:
  return [index, 0]
 while index < len(_UpperCAmelCase						) and matrix[index][0] < value:
  snake_case__     				=					binary_search(matrix[index]						,  0						,  len(matrix[index]						) - 1						,  _UpperCAmelCase						)
  if r != -1:
   return [index, r]
  index += 1
 return [-1, -1]


if __name__ == "__main__":
   import doctest

   doctest.testmod()








"""simple docstring"""


def 				a__      (	_UpperCAmelCase						,  _UpperCAmelCase						,  _UpperCAmelCase						)     ->	float:

 '''simple docstring'''






 snake_case__     				=					[1 / first_term]
 snake_case__     				=					1 / first_term
 for _ in range(number_of_terms - 1						):
  first_term += common_difference
  arithmetic_progression.append(_UpperCAmelCase						)
 snake_case__     				=					[1 / step for step in arithmetic_progression]
 return sum(_UpperCAmelCase						)


if __name__ == "__main__":
   import doctest

   doctest.testmod()
   print(sum_of_harmonic_progression(1 / 2, 2, 2))

