





"""simple docstring"""





def       lowerCamelCase_       (   UpperCAmelCase_  ,			UpperCAmelCase_  )						->int:





  """simple docstring"""


  while a != 0:
    __UpperCAmelCase       ,     __UpperCAmelCase    :						Union[str, Any]       =						b % a, a
  return b







def       lowerCamelCase_       (   UpperCAmelCase_  ,			UpperCAmelCase_  )						->int:





  """simple docstring"""


  if gcd(UpperCAmelCase_  ,			UpperCAmelCase_  ) != 1:
    __UpperCAmelCase    :						int       =						f'''mod inverse of {a!r} and {m!r} does not exist'''
    raise ValueError(UpperCAmelCase_  )
  __UpperCAmelCase       ,     __UpperCAmelCase       ,     __UpperCAmelCase    :						List[str]       =						1, 0, a
  __UpperCAmelCase       ,     __UpperCAmelCase       ,     __UpperCAmelCase    :						Optional[Any]       =						0, 1, m
  while va != 0:
    __UpperCAmelCase    :						Optional[Any]       =						ua // va
    __UpperCAmelCase       ,     __UpperCAmelCase       ,     __UpperCAmelCase       ,     __UpperCAmelCase       ,     __UpperCAmelCase       ,     __UpperCAmelCase    :						Optional[Any]       =						(ua - q * va), (ua - q * va), (ua - q * va), va, va, va
  return ua % m






"""simple docstring"""





# coding=utf-8
# Copyright 2020 The HuggingFace Inc. team.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# this script dumps information about the environment

import os
import sys

import transformers


lowercase__				:int				   =       '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)