




'''simple docstring'''


from ..utils import is_flax_available, is_torch_available


if is_torch_available():
				from .autoencoder_kl import AutoencoderKL
				from .controlnet import ControlNetModel
				from .dual_transformer_ad import DualTransformeraDModel
				from .modeling_utils import ModelMixin
				from .prior_transformer import PriorTransformer
				from .ta_film_transformer import TaFilmDecoder
				from .transformer_ad import TransformeraDModel
				from .unet_ad import UNetaDModel
				from .unet_ad import UNetaDModel
				from .unet_ad_condition import UNetaDConditionModel
				from .unet_ad_condition import UNetaDConditionModel
				from .vq_model import VQModel

if is_flax_available():
				from .controlnet_flax import FlaxControlNetModel
				from .unet_ad_condition_flax import FlaxUNetaDConditionModel
				from .vae_flax import FlaxAutoencoderKL







'''simple docstring'''


def 	snake_case_					(UpperCamelCase :						int   ):





							'''simple docstring'''


							if n == 1 or not isinstance(UpperCamelCase				,		UpperCamelCase   ):
														return 0
							elif n == 2:
														return 1
							else:
														_a			  =       [0, 1]
														for i in range(2				,		n + 1   ):
																					sequence.append(sequence[i - 1] + sequence[i - 2]   )

														return sequence[n]
def 	snake_case_					(UpperCamelCase :						int   ):





							'''simple docstring'''


							_a			  =       0
							_a			  =       2

							while digits < n:
														index += 1
														_a			  =       len(str(fibonacci(UpperCamelCase   )   )   )

							return index
def 	snake_case_					(UpperCamelCase :						int = 1000   ):





							'''simple docstring'''


							return fibonacci_digits_index(UpperCamelCase   )


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

