'''simple docstring'''




import unittest

import numpy as np
import torch

from diffusers import PNDMPipeline, PNDMScheduler, UNetaDModel
from diffusers.utils.testing_utils import enable_full_determinism, require_torch, slow, torch_device


enable_full_determinism()




class     a__      (   unittest.TestCase ):






     @property
     def    SCREAMING_SNAKE_CASE__   ( self		:		Optional[int]    ):





         """simple docstring"""



         torch.manual_seed(0    )
         __lowerCamelCase		=  UNetaDModel(
             block_out_channels=(32, 64)  ,				layers_per_block=2  ,				sample_size=32  ,				in_channels=3  ,				out_channels=3  ,				down_block_types=('''DownBlock2D''', '''AttnDownBlock2D''')  ,				up_block_types=('''AttnUpBlock2D''', '''UpBlock2D''')  ,				)
         return model






     def    SCREAMING_SNAKE_CASE__   ( self		:		Union[str, Any]    ):





         """simple docstring"""



         __lowerCamelCase		=  self.dummy_uncond_unet
         __lowerCamelCase		=  PNDMScheduler()

         __lowerCamelCase		=  PNDMPipeline(unet=lowercase_  ,				scheduler=lowercase_    )
         pndm.to(lowercase_    )
         pndm.set_progress_bar_config(disable=lowercase_    )

         __lowerCamelCase		=  torch.manual_seed(0    )
         __lowerCamelCase		=  pndm(generator=lowercase_  ,				num_inference_steps=20  ,				output_type='''numpy'''    ).images

         __lowerCamelCase		=  torch.manual_seed(0    )
         __lowerCamelCase		=  pndm(generator=lowercase_  ,				num_inference_steps=20  ,				output_type='''numpy'''  ,				return_dict=lowercase_    )[0]

         __lowerCamelCase		=  image[0, -3:, -3:, -1]
         __lowerCamelCase		=  image_from_tuple[0, -3:, -3:, -1]

         assert image.shape == (1, 32, 32, 3)
         __lowerCamelCase		=  np.array([1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0]    )

         assert np.abs(image_slice.flatten() - expected_slice    ).max() < 1e-2
         assert np.abs(image_from_tuple_slice.flatten() - expected_slice    ).max() < 1e-2




@slow
@require_torch
class     a__      (   unittest.TestCase ):






     def    SCREAMING_SNAKE_CASE__   ( self		:		Tuple    ):





         """simple docstring"""



         __lowerCamelCase		=  '''google/ddpm-cifar10-32'''

         __lowerCamelCase		=  UNetaDModel.from_pretrained(lowercase_    )
         __lowerCamelCase		=  PNDMScheduler()

         __lowerCamelCase		=  PNDMPipeline(unet=lowercase_  ,				scheduler=lowercase_    )
         pndm.to(lowercase_    )
         pndm.set_progress_bar_config(disable=lowercase_    )
         __lowerCamelCase		=  torch.manual_seed(0    )
         __lowerCamelCase		=  pndm(generator=lowercase_  ,				output_type='''numpy'''    ).images

         __lowerCamelCase		=  image[0, -3:, -3:, -1]

         assert image.shape == (1, 32, 32, 3)
         __lowerCamelCase		=  np.array([0.15_64, 0.1_46_45, 0.14_06, 0.1_47_15, 0.1_24_25, 0.1_40_45, 0.1_31_15, 0.1_21_75, 0.1_25]    )

         assert np.abs(image_slice.flatten() - expected_slice    ).max() < 1e-2



def 			UpperCAmelCase__				(			):





  '''simple docstring'''







  return [
      a * b * (10_00 - a - b)
      for a in range(1	,      9_99							)
      for b in range(_A	,      9_99							)
      if (a * a + b * b == (10_00 - a - b) ** 2)
  ][0]


if __name__ == "__main__":
       print(f"""{solution() = }""")
