

def  __lowerCAmelCase (  A    ,       A    ,       A      ):
	if hue < 0 or hue > 360:
		raise Exception("hue should be between 0 and 360"      )

	if saturation < 0 or saturation > 1:
		raise Exception("saturation should be between 0 and 1"      )

	if value < 0 or value > 1:
		raise Exception("value should be between 0 and 1"      )

	UpperCAmelCase_    			=     value * saturation
	UpperCAmelCase_    			=     hue / 60
	UpperCAmelCase_    			=     chroma * (1 - abs(hue_section % 2 - 1      ))
	UpperCAmelCase_    			=     value - chroma

	if hue_section >= 0 and hue_section <= 1:
		UpperCAmelCase_    			=     round(255 * (chroma + match_value)      )
		UpperCAmelCase_    			=     round(255 * (second_largest_component + match_value)      )
		UpperCAmelCase_    			=     round(255 * (match_value)      )
	elif hue_section > 1 and hue_section <= 2:
		UpperCAmelCase_    			=     round(255 * (second_largest_component + match_value)      )
		UpperCAmelCase_    			=     round(255 * (chroma + match_value)      )
		UpperCAmelCase_    			=     round(255 * (match_value)      )
	elif hue_section > 2 and hue_section <= 3:
		UpperCAmelCase_    			=     round(255 * (match_value)      )
		UpperCAmelCase_    			=     round(255 * (chroma + match_value)      )
		UpperCAmelCase_    			=     round(255 * (second_largest_component + match_value)      )
	elif hue_section > 3 and hue_section <= 4:
		UpperCAmelCase_    			=     round(255 * (match_value)      )
		UpperCAmelCase_    			=     round(255 * (second_largest_component + match_value)      )
		UpperCAmelCase_    			=     round(255 * (chroma + match_value)      )
	elif hue_section > 4 and hue_section <= 5:
		UpperCAmelCase_    			=     round(255 * (second_largest_component + match_value)      )
		UpperCAmelCase_    			=     round(255 * (match_value)      )
		UpperCAmelCase_    			=     round(255 * (chroma + match_value)      )
	else:
		UpperCAmelCase_    			=     round(255 * (chroma + match_value)      )
		UpperCAmelCase_    			=     round(255 * (match_value)      )
		UpperCAmelCase_    			=     round(255 * (second_largest_component + match_value)      )

	return [red, green, blue]



def  __lowerCAmelCase (  A    ,       A    ,       A      ):
	if red < 0 or red > 255:
		raise Exception("red should be between 0 and 255"      )

	if green < 0 or green > 255:
		raise Exception("green should be between 0 and 255"      )

	if blue < 0 or blue > 255:
		raise Exception("blue should be between 0 and 255"      )

	UpperCAmelCase_    			=     red / 255
	UpperCAmelCase_    			=     green / 255
	UpperCAmelCase_    			=     blue / 255
	UpperCAmelCase_    			=     max(A    ,       A    ,       A      )
	UpperCAmelCase_    			=     value - min(A    ,       A    ,       A      )
	UpperCAmelCase_    			=     0 if value == 0 else chroma / value

	if chroma == 0:
		UpperCAmelCase_    			=     0.0
	elif value == float_red:
		UpperCAmelCase_    			=     60 * (0 + (float_green - float_blue) / chroma)
	elif value == float_green:
		UpperCAmelCase_    			=     60 * (2 + (float_blue - float_red) / chroma)
	else:
		UpperCAmelCase_    			=     60 * (4 + (float_red - float_green) / chroma)

	UpperCAmelCase_    			=     (hue + 360) % 360

	return [hue, saturation, value]




def  __lowerCAmelCase (  A    ,       A      ):
	UpperCAmelCase_    			=     abs(hsv_a[0] - hsv_a[0]      ) < 0.2
	UpperCAmelCase_    			=     abs(hsv_a[1] - hsv_a[1]      ) < 0.002
	UpperCAmelCase_    			=     abs(hsv_a[2] - hsv_a[2]      ) < 0.002

	return check_hue and check_saturation and check_value


def  __lowerCAmelCase (  A      ):
	UpperCAmelCase_    			=     len(A      )

	# Set the gap value to be decreased by a factor of 1.3
	# after each iteration
	UpperCAmelCase_    			=     1.3

	# Continue sorting until the gap is 1
	while gap > 1:
		# Decrease the gap value
		UpperCAmelCase_    			=     int(gap / shrink      )

		# Sort the elements using insertion sort
		for i in range(A    ,       len(A      )      ):
			UpperCAmelCase_    			=     collection[i]
			UpperCAmelCase_    			=     i
			while j >= gap and collection[j - gap] > temp:
				UpperCAmelCase_    			=     collection[j - gap]
				j -= gap
			UpperCAmelCase_    			=     temp

	return collection


if __name__ == "__main__":
				import doctest

				doctest.testmod()