



"""simple docstring"""






from __future__ import annotations






def 			snake_case_    ( A_   :						list,							A_   :						int,							A_   :						int,							A_   :						int		):


       '''simple docstring'''





       _lowerCamelCase		:							Tuple            =					[]
       _lowerCamelCase     ,       _lowerCamelCase		:							str            =					input_list[low:mid], input_list[mid : high + 1]
       while left and right:
              result.append((left if left[0] <= right[0] else right).pop(0		)		)
       _lowerCamelCase		:							Tuple            =					result + left + right
       return input_list






def 			snake_case_    ( A_   :						list		):


       '''simple docstring'''





       if len(A_		) <= 1:
              return input_list
       _lowerCamelCase		:							List[str]            =					list(A_		)

       # iteration for two-way merging
       _lowerCamelCase		:							List[Any]            =					2
       while p <= len(A_		):
              # getting low, high and middle value for merge-sort of single list
              for i in range(0,							len(A_		),							A_		):
                     _lowerCamelCase		:							Union[str, Any]            =					i
                     _lowerCamelCase		:							Any            =					i + p - 1
                     _lowerCamelCase		:							str            =					(low + high + 1) // 2
                     _lowerCamelCase		:							List[str]            =					merge(A_,							A_,							A_,							A_		)
              # final merge of last two parts
              if p * 2 >= len(A_		):
                     _lowerCamelCase		:							Dict            =					i
                     _lowerCamelCase		:							Optional[int]            =					merge(A_,							0,							A_,							len(A_		) - 1		)
                     break
              p *= 2

       return input_list


if __name__ == "__main__":
   lowerCAmelCase__              =							input('''Enter numbers separated by a comma:\n''').strip()
   if user_input == "":
      lowerCAmelCase__              =							[]
   else:
      lowerCAmelCase__              =							[int(item.strip()) for item in user_input.split(''',''')]
   print(iter_merge_sort(unsorted))










# 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


UpperCAmelCase__      			=						'''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)





