




def 			a   (_lowerCAmelCase     ):
							SCREAMING_SNAKE_CASE_   	=    0
							SCREAMING_SNAKE_CASE_   	=    len(_lowerCAmelCase     )

							for i in range(n - 1     ):
														for j in range(i + 1  ,    _lowerCAmelCase     ):
																					if arr[i] > arr[j]:
																												num_inversions += 1

							return num_inversions

def 			a   (_lowerCAmelCase     ):
							if len(_lowerCAmelCase     ) <= 1:
														return arr, 0
							SCREAMING_SNAKE_CASE_   	=    len(_lowerCAmelCase     ) // 2
							SCREAMING_SNAKE_CASE_   	=    arr[0:mid]
							SCREAMING_SNAKE_CASE_   	=    arr[mid:]

							SCREAMING_SNAKE_CASE_	,	SCREAMING_SNAKE_CASE_   	=    count_inversions_recursive(_lowerCAmelCase     )
							SCREAMING_SNAKE_CASE_	,	SCREAMING_SNAKE_CASE_   	=    count_inversions_recursive(_lowerCAmelCase     )
							SCREAMING_SNAKE_CASE_	,	SCREAMING_SNAKE_CASE_   	=    _count_cross_inversions(_lowerCAmelCase  ,    _lowerCAmelCase     )

							SCREAMING_SNAKE_CASE_   	=    inversion_p + inversions_q + cross_inversions
							return c, num_inversions

def 			a   (_lowerCAmelCase  ,    _lowerCAmelCase     ):
							SCREAMING_SNAKE_CASE_   	=    []
							SCREAMING_SNAKE_CASE_   	=    SCREAMING_SNAKE_CASE_   	=    SCREAMING_SNAKE_CASE_   	=    0
							while i < len(_lowerCAmelCase     ) and j < len(_lowerCAmelCase     ):
														if p[i] > q[j]:
																					# if P[1] > Q[j], then P[k] > Q[k] for all  i < k <= len(P)
																					# These are all inversions. The claim emerges from the
																					# property that P is sorted.
																					num_inversion += len(_lowerCAmelCase     ) - i
																					r.append(q[j]     )
																					j += 1
														else:
																					r.append(p[i]     )
																					i += 1

							if i < len(_lowerCAmelCase     ):
														r.extend(p[i:]     )
							else:
														r.extend(q[j:]     )

							return r, num_inversion

def 			a   ():
							SCREAMING_SNAKE_CASE_   	=    [1_0, 2, 1, 5, 5, 2, 1_1]

							# this arr has 8 inversions:
							# (10, 2), (10, 1), (10, 5), (10, 5), (10, 2), (2, 1), (5, 2), (5, 2)

							SCREAMING_SNAKE_CASE_   	=    count_inversions_bf(_lowerCAmelCase     )
							SCREAMING_SNAKE_CASE_	,	SCREAMING_SNAKE_CASE_   	=    count_inversions_recursive(_lowerCAmelCase     )

							assert num_inversions_bf == num_inversions_recursive == 8

							print('''number of inversions = '''  ,    _lowerCAmelCase     )

							# testing an array with zero inversion (a sorted arr_1)

							arr_a.sort()
							SCREAMING_SNAKE_CASE_   	=    count_inversions_bf(_lowerCAmelCase     )
							SCREAMING_SNAKE_CASE_	,	SCREAMING_SNAKE_CASE_   	=    count_inversions_recursive(_lowerCAmelCase     )

							assert num_inversions_bf == num_inversions_recursive == 0
							print('''number of inversions = '''  ,    _lowerCAmelCase     )

							# an empty list should also have zero inversions
							SCREAMING_SNAKE_CASE_   	=    []
							SCREAMING_SNAKE_CASE_   	=    count_inversions_bf(_lowerCAmelCase     )
							SCREAMING_SNAKE_CASE_	,	SCREAMING_SNAKE_CASE_   	=    count_inversions_recursive(_lowerCAmelCase     )

							assert num_inversions_bf == num_inversions_recursive == 0
							print('''number of inversions = '''  ,    _lowerCAmelCase     )


if __name__ == "__main__":
			main()








import requests

def 			a   (_lowerCAmelCase  ,    _lowerCAmelCase     ):
							SCREAMING_SNAKE_CASE_   	=    {'''Content-Type''': '''application/json'''}
							SCREAMING_SNAKE_CASE_   	=    requests.post(_lowerCAmelCase  ,    json={'''text''': message_body}  ,    headers=_lowerCAmelCase     )
							if response.status_code != 2_0_0:
														SCREAMING_SNAKE_CASE_   	=    (
														    '''Request to slack returned an error '''
														    F"{response.status_code}, the response is:\n{response.text}"
														)
														raise ValueError(_lowerCAmelCase     )


if __name__ == "__main__":
			# Set the slack url to the one provided by Slack when you create the webhook at
			# https://my.slack.com/services/new/incoming-webhook/
			send_slack_message("""<YOUR MESSAGE BODY>""", """<SLACK CHANNEL URL>""")


