






"""simple docstring"""

import sys

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

def 		__lowerCamelCase	(  __UpperCamelCase       )						->    int:

		"""simple docstring"""







		lowerCAmelCase_   :							List[str]									=			1
		for digit in s:
				product *= int(__UpperCamelCase       )
		return product

def 		__lowerCamelCase	(  __UpperCamelCase = N       )						->    int:

		"""simple docstring"""







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


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








"""simple docstring"""

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 		__lowerCamelCase				( A__ ,							A__ ,							unittest.TestCase			):





		'''simple docstring'''






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





		def    lowerCamelCase       (   self							:	Optional[Any]	):
				return self._get_superresolution_dummy_components()





		def    lowerCamelCase       (   self							:	Optional[Any]						,			a_							:	List[str]						,			a_							:	Union[str, Any]=0	):
				if str(a_	).startswith("mps"	):
						lowerCAmelCase_   :							List[Any]									=			torch.manual_seed(a_	)
				else:
						lowerCAmelCase_   :							str									=			torch.Generator(device=a_	).manual_seed(a_	)

				lowerCAmelCase_   :							List[str]									=			floats_tensor((1, 3, 16, 16)						,			rng=random.Random(a_	)	).to(a_	)
				lowerCAmelCase_   :							Tuple									=			floats_tensor((1, 3, 32, 32)						,			rng=random.Random(a_	)	).to(a_	)
				lowerCAmelCase_   :							int									=			floats_tensor((1, 3, 32, 32)						,			rng=random.Random(a_	)	).to(a_	)

				lowerCAmelCase_   :							Any									=			{
				    "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							:	List[Any]	):
				self._test_xformers_attention_forwardGenerator_pass(expected_max_diff=1e-3	)





		def    lowerCamelCase       (   self							:	Optional[int]	):
				self._test_save_load_optional_components()





		@unittest.skipIf(torch_device != "cuda"						,			reason="float16 requires CUDA"	)
		def    lowerCamelCase       (   self							:	Optional[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							:	Tuple	):
				self._test_attention_slicing_forward_pass(expected_max_diff=1e-2	)





		def    lowerCamelCase       (   self							:	List[str]	):
				self._test_save_load_local()





		def    lowerCamelCase       (   self							:	Optional[int]	):
				self._test_inference_batch_single_identical(
				    expected_max_diff=1e-2						,			)
