




'''simple docstring'''






from math import sqrt

def       __lowerCAmelCase (   snake_case__						):
			__UpperCamelCase				:      Union[str, Any]									=       [1]
			for i in range(2 ,				int(sqrt(snake_case__						)						) + 1 ,				1						):
						if number % i == 0:
									values.append(snake_case__						)
									if int(number // i						) != i:
												values.append(int(number // i						)						)
			return sorted(snake_case__						)

def       __lowerCAmelCase (   snake_case__						):
			return sum(factors(snake_case__						)						) > n

def       __lowerCAmelCase (   snake_case__						):
			__UpperCamelCase				:      Any									=       factors(snake_case__						)
			__UpperCamelCase				:      Union[str, Any]									=       len(snake_case__						)
			__UpperCamelCase				:      Tuple									=       [[0 for i in range(number + 1						)] for j in range(r + 1						)]
			for i in range(r + 1						):
						__UpperCamelCase				:      int									=       True

			for i in range(1 ,				number + 1						):
						__UpperCamelCase				:      Union[str, Any]									=       False

			for i in range(1 ,				r + 1						):
						for j in range(1 ,				number + 1						):
									if j < values[i - 1]:
												__UpperCamelCase				:      Union[str, Any]									=       subset[i - 1][j]
									else:
												__UpperCamelCase				:      Union[str, Any]									=       subset[i - 1][j] or subset[i - 1][j - values[i - 1]]

			return subset[r][number] != 0

def       __lowerCAmelCase (   snake_case__						):
			return abundant(snake_case__						) and not semi_perfect(snake_case__						)


if __name__ == "__main__":
				import doctest

				doctest.testmod(verbose=True)
				for number in (69, 70, 71):
								print(f'{number} is {"" if weird(number) else "not "}weird.')









'''simple docstring'''






import math
import os

import cva
import numpy as np

_lowerCAmelCase				     = 255.0

def       __lowerCAmelCase (   snake_case__ ,				snake_case__						):
			__UpperCamelCase				:      Dict									=       np.mean((original - contrast) ** 2						)
			if mse == 0:
						return 100

			return 20 * math.logaa(PIXEL_MAX / math.sqrt(snake_case__						)						)

def       __lowerCAmelCase (   ):
			__UpperCamelCase				:      Tuple									=       os.path.dirname(os.path.realpath(snake_case__						)						)
			# Loading images (original image and compressed image)
			__UpperCamelCase				:      Tuple									=       cva.imread(os.path.join(snake_case__ ,				"image_data/original_image.png"						)						)
			__UpperCamelCase				:      List[Any]									=       cva.imread(os.path.join(snake_case__ ,				"image_data/compressed_image.png"						) ,				1						)

			__UpperCamelCase				:      Dict									=       cva.imread(os.path.join(snake_case__ ,				"image_data/PSNR-example-base.png"						)						)
			__UpperCamelCase				:      Optional[Any]									=       cva.imread(
			    os.path.join(snake_case__ ,				"image_data/PSNR-example-comp-10.jpg"						) ,				1						)

			# Value expected: 29.73dB
			print("-- First Test --"						)
			print(F"PSNR value is {peak_signal_to_noise_ratio(snake_case__ ,				snake_case__						)} dB"						)

			# # Value expected: 31.53dB (Wikipedia Example)
			print("\n-- Second Test --"						)
			print(F"PSNR value is {peak_signal_to_noise_ratio(snake_case__ ,				snake_case__						)} dB"						)


if __name__ == "__main__":
				main()



