






from ...processing_utils import ProcessorMixin
from ...tokenization_utils_base import BatchEncoding

class 		_snake_case	(	A__       ):
			_lowercase		:     List[str]        =				'''ClapFeatureExtractor'''
			_lowercase		:     str        =				('''RobertaTokenizer''', '''RobertaTokenizerFast''')






			def __init__(							self		,       a		,       a)   ->							Optional[int]:
						super().__init__(a		,       a)






			def __call__(							self		,       a=None		,       a=None		,       a=None		,       **a)   ->							int:
						SCREAMING_SNAKE_CASE							=			kwargs.pop('sampling_rate'		,       a)

						if text is None and audios is None:
									raise ValueError('You have to specify either text or audios. Both cannot be none.')

						if text is not None:
									SCREAMING_SNAKE_CASE							=			self.tokenizer(a		,       return_tensors=a		,       **a)

						if audios is not None:
									SCREAMING_SNAKE_CASE							=			self.feature_extractor(
									    a		,       sampling_rate=a		,       return_tensors=a		,       **a)

						if text is not None and audios is not None:
									SCREAMING_SNAKE_CASE							=			audio_features.input_features
									return encoding
						elif text is not None:
									return encoding
						else:
									return BatchEncoding(data=dict(**a)		,       tensor_type=a)






			def  SCREAMING_SNAKE_CASE__     (							self		,       *a		,       **a)   ->							List[str]:
						return self.tokenizer.batch_decode(*a		,       **a)






			def  SCREAMING_SNAKE_CASE__     (							self		,       *a		,       **a)   ->							Union[str, Any]:
						return self.tokenizer.decode(*a		,       **a)







			@property
			def  SCREAMING_SNAKE_CASE__     (							self)   ->							str:
						SCREAMING_SNAKE_CASE							=			self.tokenizer.model_input_names
						SCREAMING_SNAKE_CASE							=			self.feature_extractor.model_input_names
						return list(dict.fromkeys(tokenizer_input_names + feature_extractor_input_names))





"""simple docstring"""


from collections.abc import Generator






def      __UpperCAmelCase       (      ):







  """simple docstring"""
  _UpperCAmelCase			,					_UpperCAmelCase    			=   0, 1
  while True:
    _UpperCAmelCase			,					_UpperCAmelCase    			=   b, a + b
    yield b






def      __UpperCAmelCase       (      lowercase = 10_00		):







  """simple docstring"""
  _UpperCAmelCase    			=   1
  _UpperCAmelCase    			=   fibonacci_generator()
  while len(str(next(lowercase		)		)		) < n:
    answer += 1
  return answer + 1


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