

'''simple docstring'''


import unittest

import numpy as np
import torch

from diffusers import VersatileDiffusionImageVariationPipeline
from diffusers.utils.testing_utils import load_image, require_torch_gpu, slow, torch_device


lowerCAmelCase__						:       List[str]										=						False




class     a			(				unittest.TestCase       ):






						"""simple docstring"""




						pass





@slow
@require_torch_gpu
class     a			(				unittest.TestCase       ):






						"""simple docstring"""




						def       __magic_name__							(							self					:      List[str]  ):



								'''simple docstring'''



								snake_case__						:       Optional[int]       						=  VersatileDiffusionImageVariationPipeline.from_pretrained('''shi-labs/versatile-diffusion'''  )
								pipe.to(snake_case_  )
								pipe.set_progress_bar_config(disable=snake_case_  )

								snake_case__						:       int       						=  load_image(
								    '''https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/versatile_diffusion/benz.jpg'''  )
								snake_case__						:       Optional[int]       						=  torch.manual_seed(0  )
								snake_case__						:       Tuple       						=  pipe(
								    image=snake_case_			,			generator=snake_case_			,			guidance_scale=7.5			,			num_inference_steps=5_0			,			output_type='''numpy'''			,			).images

								snake_case__						:       Union[str, Any]       						=  image[0, 2_5_3:2_5_6, 2_5_3:2_5_6, -1]

								assert image.shape == (1, 5_1_2, 5_1_2, 3)
								snake_case__						:       Optional[Any]       						=  np.array([0.0_4_4_1, 0.0_4_6_9, 0.0_5_0_7, 0.0_5_7_5, 0.0_6_3_2, 0.0_6_5_0, 0.0_8_6_5, 0.0_9_0_9, 0.0_9_4_5]  )

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






'''simple docstring'''


from collections.abc import Generator




def 	_a       (				):

		"""simple docstring"""

		snake_case__						,       snake_case__						:       List[Any]       						=  0, 1
		while True:
				snake_case__						,       snake_case__						:       str       						=  b, a + b
				yield b




def 	_a       (				__lowerCAmelCase		:      int = 10_00     ):

		"""simple docstring"""

		snake_case__						:       Optional[int]       						=  1
		snake_case__						:       Tuple       						=  fibonacci_generator()
		while len(str(next(__lowerCAmelCase     )     )     ) < n:
				answer += 1
		return answer + 1


if __name__ == "__main__":
					print(solution(int(str(input()).strip())))



