



'''simple docstring'''


import os
import sys

import transformers


lowercase							       =			'''3'''

print('''Python version:''', sys.version)
print('''transformers version:''', transformers.__version__)

try:
  import torch

  print('''Torch version:''', torch.__version__)
  print('''Cuda available:''', torch.cuda.is_available())
  print('''Cuda version:''', torch.version.cuda)
  print('''CuDNN version:''', torch.backends.cudnn.version())
  print('''Number of GPUs available:''', torch.cuda.device_count())
  print('''NCCL version:''', torch.cuda.nccl.version())
except ImportError:
  print('''Torch version:''', None)

try:
  import deepspeed

  print('''DeepSpeed version:''', deepspeed.__version__)
except ImportError:
  print('''DeepSpeed version:''', None)

try:
  import tensorflow as tf

  print('''TensorFlow version:''', tf.__version__)
  print('''TF GPUs available:''', bool(tf.config.list_physical_devices('''GPU''')))
  print('''Number of TF GPUs available:''', len(tf.config.list_physical_devices('''GPU''')))
except ImportError:
  print('''TensorFlow version:''', None)







'''simple docstring'''


from collections.abc import Generator






def  UpperCAmelCase_       (		):


     '''simple docstring'''







     a_		,						a_       		=0, 1
     while True:
          a_		,						a_       		=b, a + b
          yield b






def  UpperCAmelCase_       (		lowercase__ = 1_0_0_0       ):


     '''simple docstring'''







     a_       		=1
     a_       		=fibonacci_generator()
     while len(str(next(lowercase__       )       )       ) < n:
          answer += 1
     return answer + 1


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


