


'''simple docstring'''




from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


__snake_case    						={
    """configuration_rembert""": ["""REMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """RemBertConfig""", """RemBertOnnxConfig"""]
}

try:
       if not is_sentencepiece_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       __snake_case    						=["""RemBertTokenizer"""]

try:
       if not is_tokenizers_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       __snake_case    						=["""RemBertTokenizerFast"""]

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       __snake_case    						=[
           """REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
           """RemBertForCausalLM""",
           """RemBertForMaskedLM""",
           """RemBertForMultipleChoice""",
           """RemBertForQuestionAnswering""",
           """RemBertForSequenceClassification""",
           """RemBertForTokenClassification""",
           """RemBertLayer""",
           """RemBertModel""",
           """RemBertPreTrainedModel""",
           """load_tf_weights_in_rembert""",
       ]


try:
       if not is_tf_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       __snake_case    						=[
           """TF_REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
           """TFRemBertForCausalLM""",
           """TFRemBertForMaskedLM""",
           """TFRemBertForMultipleChoice""",
           """TFRemBertForQuestionAnswering""",
           """TFRemBertForSequenceClassification""",
           """TFRemBertForTokenClassification""",
           """TFRemBertLayer""",
           """TFRemBertModel""",
           """TFRemBertPreTrainedModel""",
       ]


if TYPE_CHECKING:
       from .configuration_rembert import REMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, RemBertConfig, RemBertOnnxConfig

       try:
              if not is_sentencepiece_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_rembert import RemBertTokenizer

       try:
              if not is_tokenizers_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_rembert_fast import RemBertTokenizerFast

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_rembert import (
                  REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
                  RemBertForCausalLM,
                  RemBertForMaskedLM,
                  RemBertForMultipleChoice,
                  RemBertForQuestionAnswering,
                  RemBertForSequenceClassification,
                  RemBertForTokenClassification,
                  RemBertLayer,
                  RemBertModel,
                  RemBertPreTrainedModel,
                  load_tf_weights_in_rembert,
              )

       try:
              if not is_tf_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_tf_rembert import (
                  TF_REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
                  TFRemBertForCausalLM,
                  TFRemBertForMaskedLM,
                  TFRemBertForMultipleChoice,
                  TFRemBertForQuestionAnswering,
                  TFRemBertForSequenceClassification,
                  TFRemBertForTokenClassification,
                  TFRemBertLayer,
                  TFRemBertModel,
                  TFRemBertPreTrainedModel,
              )


else:
       import sys

       __snake_case    						=_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)









'''simple docstring'''




from __future__ import annotations

from bisect import bisect_left
from functools import total_ordering
from heapq import merge

@total_ordering
class 		UpperCAmelCase_      (  __lowercase		):





     def __lt__( self       :      Optional[int]    ,      UpperCAmelCase__       :      List[str]    )				->  List[Any]:
        return self[-1] < other[-1]





     def __eq__( self       :      str    ,      UpperCAmelCase__       :      List[str]    )				->  Tuple:
        return self[-1] == other[-1]





def 	a_					( lowerCamelCase	:     list				):
   lowerCAmelCase     =			[]
   # sort into stacks
   for element in collection:
      lowerCAmelCase     =			Stack([element]				)
      lowerCAmelCase     =			bisect_left(lowerCamelCase	, lowerCamelCase				)
      if i != len(lowerCamelCase				):
         stacks[i].append(lowerCamelCase				)
      else:
         stacks.append(lowerCamelCase				)

    # use a heap-based merge to merge stack efficiently
   lowerCAmelCase     =			merge(*(reversed(lowerCamelCase				) for stack in stacks)				)
   return collection


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





