




"""simple docstring"""




from typing import Callable, Optional, Union

from ...configuration_utils import PretrainedConfig
from ...utils import logging


lowerCAmelCase				:     Any					=				logging.get_logger(__name__)

lowerCAmelCase				:     List[Any]					=				{
    """microsoft/xprophetnet-large-wiki100-cased""": (
        """https://huggingface.co/microsoft/xprophetnet-large-wiki100-cased/resolve/main/config.json"""
    ),
}






class        __magic_name__				(			UpperCAmelCase__							):






				'''simple docstring'''
				__UpperCamelCase         =		"xlm-prophetnet"
				__UpperCamelCase         =		["past_key_values"]
				__UpperCamelCase         =		{
				    "num_attention_heads": "num_encoder_attention_heads",
				}





				def __init__(			self						,					_a = 0.1						,					_a = "gelu"						,					_a = 30_522						,					_a = 1_024						,					_a = 4_096						,					_a = 12						,					_a = 16						,					_a = 4_096						,					_a = 12						,					_a = 16						,					_a = 0.1						,					_a = 0.1						,					_a = 512						,					_a = 0.02						,					_a = True						,					_a = True						,					_a = 0						,					_a = 2						,					_a = 32						,					_a = 128						,					_a = False						,					_a = 0.0						,					_a = True						,					_a = 0						,					_a = 1						,					_a = 2						,					**_a						,					):





							"""simple docstring"""
							lowerCamelCase      =   vocab_size
							lowerCamelCase      =   hidden_size
							lowerCamelCase      =   encoder_ffn_dim
							lowerCamelCase      =   num_encoder_layers
							lowerCamelCase      =   num_encoder_attention_heads
							lowerCamelCase      =   decoder_ffn_dim
							lowerCamelCase      =   num_decoder_layers
							lowerCamelCase      =   num_decoder_attention_heads
							lowerCamelCase      =   max_position_embeddings
							lowerCamelCase      =   init_std  # Normal(0, this parameter)
							lowerCamelCase      =   activation_function

							# parameters for xlmprophetnet
							lowerCamelCase      =   ngram
							lowerCamelCase      =   num_buckets
							lowerCamelCase      =   relative_max_distance
							lowerCamelCase      =   disable_ngram_loss
							lowerCamelCase      =   eps

							# 3 Types of Dropout
							lowerCamelCase      =   attention_dropout
							lowerCamelCase      =   activation_dropout
							lowerCamelCase      =   dropout

							lowerCamelCase      =   use_cache

							super().__init__(
							    pad_token_id=_a						,					bos_token_id=_a						,					eos_token_id=_a						,					is_encoder_decoder=_a						,					add_cross_attention=_a						,					decoder_start_token_id=_a						,					**_a						,					)





				@property
				def   _lowerCAmelCase							(			self					):





							"""simple docstring"""
							return self.num_encoder_layers + self.num_decoder_layers





				@num_hidden_layers.setter
				def   _lowerCAmelCase							(			self						,					_a					):





							"""simple docstring"""
							raise NotImplementedError(
							    """This model does not support the setting of `num_hidden_layers`. Please set `num_encoder_layers` and"""
							    """ `num_decoder_layers`."""					)









"""simple docstring"""




def        a__					(							snake_case__ = 10_00							)		->   int:
			lowerCamelCase ,  lowerCamelCase      =   1, 1
			lowerCamelCase      =   2
			while True:
						lowerCamelCase      =   0
						lowerCamelCase      =   fa + fa
						lowerCamelCase ,  lowerCamelCase      =   fa, f
						index += 1
						for _ in str(snake_case__							):
									i += 1
						if i == n:
									break
			return index


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



