
from PIL import Image




def 				a						(							snake_case__:					Image						,   snake_case__:					int					):


				'''simple docstring'''
				lowercase_       =					(259 * (level + 255)) / (255 * (259 - level))

				def contrast(snake_case__:					int					) -> int:
								return int(128 + factor * (c - 128)					)

				return img.point(_lowerCamelCase					)


if __name__ == "__main__":
						# Load image
						with Image.open('image_data/lena.jpg') as img:
												# Change contrast to 170
												__a  			=					change_contrast(img, 1_7_0)
												cont_img.save('image_data/lena_high_contrast.png', format='png')






from __future__ import annotations




def 	_SCREAMING_SNAKE_CASE					(		_lowerCamelCase :			list[list[int]])					->    bool:






							'''simple docstring'''





							__UpperCamelCase	:   Any			   =					len(_lowerCamelCase)
							# We need to create solution object to save path.
							__UpperCamelCase	:   List[str]			   =					[[0 for _ in range(_lowerCamelCase)] for _ in range(_lowerCamelCase)]
							__UpperCamelCase	:   Optional[int]			   =					run_maze(_lowerCamelCase						,  0						,  0						,  _lowerCamelCase)
							if solved:
														print("\n".join(str(_lowerCamelCase) for row in solutions))
							else:
														print("No solution exists!")
							return solved




def 	_SCREAMING_SNAKE_CASE					(		_lowerCamelCase :			list[list[int]]						,  _lowerCamelCase :			int						,  _lowerCamelCase :			int						,  _lowerCamelCase :			list[list[int]])					->    bool:






							'''simple docstring'''





							__UpperCamelCase	:   Tuple			   =					len(_lowerCamelCase)
							# Final check point.
							if i == j == (size - 1):
														__UpperCamelCase	:   Optional[int]			   =					1
														return True

							__UpperCamelCase	:   List[Any]			   =					(not i < 0) and (not j < 0)  # Check lower bounds
							__UpperCamelCase	:   List[str]			   =					(i < size) and (j < size)  # Check upper bounds

							if lower_flag and upper_flag:
														# check for already visited and block points.
														__UpperCamelCase	:   int			   =					(not solutions[i][j]) and (not maze[i][j])
														if block_flag:
																					# check visited
																					__UpperCamelCase	:   Tuple			   =					1

																					# check for directions
																					if (
																					    run_maze(_lowerCamelCase						,  i + 1						,  _lowerCamelCase						,  _lowerCamelCase)
																					    or run_maze(_lowerCamelCase						,  _lowerCamelCase						,  j + 1						,  _lowerCamelCase)
																					    or run_maze(_lowerCamelCase						,  i - 1						,  _lowerCamelCase						,  _lowerCamelCase)
																					    or run_maze(_lowerCamelCase						,  _lowerCamelCase						,  j - 1						,  _lowerCamelCase)
																					):
																												return True

																					__UpperCamelCase	:   Tuple			   =					0
																					return False
							return False


if __name__ == "__main__":
		import doctest

		doctest.testmod()