




"""simple docstring"""

import sys

a							      =     (
    """73167176531330624919225119674426574742355349194934"""
    """96983520312774506326239578318016984801869478851843"""
    """85861560789112949495459501737958331952853208805511"""
    """12540698747158523863050715693290963295227443043557"""
    """66896648950445244523161731856403098711121722383113"""
    """62229893423380308135336276614282806444486645238749"""
    """30358907296290491560440772390713810515859307960866"""
    """70172427121883998797908792274921901699720888093776"""
    """65727333001053367881220235421809751254540594752243"""
    """52584907711670556013604839586446706324415722155397"""
    """53697817977846174064955149290862569321978468622482"""
    """83972241375657056057490261407972968652414535100474"""
    """82166370484403199890008895243450658541227588666881"""
    """16427171479924442928230863465674813919123162824586"""
    """17866458359124566529476545682848912883142607690042"""
    """24219022671055626321111109370544217506941658960408"""
    """07198403850962455444362981230987879927244284909188"""
    """84580156166097919133875499200524063689912560717606"""
    """05886116467109405077541002256983155200055935729725"""
    """71636269561882670428252483600823257530420752963450"""
)






def 		_snake_case	(   _snake_case				:   int				)       ->   int:






      '''simple docstring'''


      _A     =  1
      for digit in s:
            product *= int(_snake_case				)
      return product






def 		_snake_case	(   _snake_case				:   int = N				)       ->   int:






      '''simple docstring'''


      _A     =  -sys.maxsize - 1
      _A     =  n[:13]
      _A     =  13
      while cur_index < len(_snake_case				) - 13:
            if int(n[cur_index]				) >= int(substr[0]				):
                  _A     =  substr[1:] + n[cur_index]
                  cur_index += 1
            else:
                  _A     =  max(_snake_case							,    str_eval(_snake_case				)				)
                  _A     =  n[cur_index : cur_index + 13]
                  cur_index += 13
      return largest_product


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



import random
import unittest

import torch

from diffusers import IFInpaintingSuperResolutionPipeline
from diffusers.utils import floats_tensor
from diffusers.utils.import_utils import is_xformers_available
from diffusers.utils.testing_utils import skip_mps, torch_device

from ..pipeline_params import (
    TEXT_GUIDED_IMAGE_INPAINTING_BATCH_PARAMS,
    TEXT_GUIDED_IMAGE_INPAINTING_PARAMS,
)
from ..test_pipelines_common import PipelineTesterMixin
from . import IFPipelineTesterMixin

@skip_mps
class 							_UpperCamelCase					(       _A  ,							_A  ,							unittest.TestCase	):






			'''simple docstring'''

			__UpperCamelCase   :    str          =			IFInpaintingSuperResolutionPipeline
			__UpperCamelCase   :    str          =			TEXT_GUIDED_IMAGE_INPAINTING_PARAMS - {"""width""", """height"""}
			__UpperCamelCase   :    Optional[Any]          =			TEXT_GUIDED_IMAGE_INPAINTING_BATCH_PARAMS.union({"""original_image"""}	)
			__UpperCamelCase   :    Dict          =			PipelineTesterMixin.required_optional_params - {"""latents"""}

			def    lowerCAmelCase__						(							self			:							Union[str, Any]   ):
							return self._get_superresolution_dummy_components()

			def    lowerCAmelCase__						(							self			:							Dict    ,						snake_case_			:							Optional[int]    ,						snake_case_			:							str=0   ):
							if str(snake_case_   ).startswith("""mps"""   ):
											UpperCamelCase_:				Union[str, Any]						=    torch.manual_seed(snake_case_   )
							else:
											UpperCamelCase_:				Tuple						=    torch.Generator(device=snake_case_   ).manual_seed(snake_case_   )

							UpperCamelCase_:				Dict						=    floats_tensor((1, 3, 16, 16)    ,						rng=random.Random(snake_case_   )   ).to(snake_case_   )
							UpperCamelCase_:				int						=    floats_tensor((1, 3, 32, 32)    ,						rng=random.Random(snake_case_   )   ).to(snake_case_   )
							UpperCamelCase_:				str						=    floats_tensor((1, 3, 32, 32)    ,						rng=random.Random(snake_case_   )   ).to(snake_case_   )

							UpperCamelCase_:				Dict						=    {
							    """prompt""": """A painting of a squirrel eating a burger""",
							    """image""": image,
							    """original_image""": original_image,
							    """mask_image""": mask_image,
							    """generator""": generator,
							    """num_inference_steps""": 2,
							    """output_type""": """numpy""",
							}

							return inputs

			@unittest.skipIf(
			    torch_device != """cuda""" or not is_xformers_available()    ,						reason="""XFormers attention is only available with CUDA and `xformers` installed"""    ,						)
			def    lowerCAmelCase__						(							self			:							Tuple   ):
							self._test_xformers_attention_forwardGenerator_pass(expected_max_diff=1e-3   )

			def    lowerCAmelCase__						(							self			:							Union[str, Any]   ):
							self._test_save_load_optional_components()

			@unittest.skipIf(torch_device != """cuda"""    ,						reason="""float16 requires CUDA"""   )
			def    lowerCAmelCase__						(							self			:							List[Any]   ):
							# Due to non-determinism in save load of the hf-internal-testing/tiny-random-t5 text encoder
							super().test_save_load_floataa(expected_max_diff=1e-1   )

			def    lowerCAmelCase__						(							self			:							str   ):
							self._test_attention_slicing_forward_pass(expected_max_diff=1e-2   )

			def    lowerCAmelCase__						(							self			:							str   ):
							self._test_save_load_local()




			def    lowerCAmelCase__						(							self			:							Union[str, Any]   ):
							self._test_inference_batch_single_identical(
							    expected_max_diff=1e-2    ,						)






