


'''simple docstring'''







import unittest

from transformers import is_torch_available
from transformers.testing_utils import require_sentencepiece, require_tokenizers, require_torch, slow, torch_device


if is_torch_available():
			import torch

			from transformers import CamembertModel







@require_torch
@require_sentencepiece
@require_tokenizers
class A__	(						unittest.TestCase				):






						@slow
						def __UpperCAmelCase	(			self      :Optional[Any]     )	-> Tuple:




													'''simple docstring'''
													_a   :			int					 =CamembertModel.from_pretrained("""camembert-base"""     )
													model.to(snake_case__     )

													_a   :			List[Any]					 =torch.tensor(
													    [[5, 1_2_1, 1_1, 6_6_0, 1_6, 7_3_0, 2_5_5_4_3, 1_1_0, 8_3, 6]]					,						device=snake_case__					,						dtype=torch.long					,						)  # J'aime le camembert !
													with torch.no_grad():
																				_a   :			Any					 =model(snake_case__     )["""last_hidden_state"""]
													_a   :			str					 =torch.Size((1, 1_0, 7_6_8)     )
													self.assertEqual(output.shape					,						snake_case__     )
													# compare the actual values for a slice.
													_a   :			Optional[Any]					 =torch.tensor(
													    [[[-0.0_254, 0.0_235, 0.1_027], [0.0_606, -0.1_811, -0.0_418], [-0.1_561, -0.1_127, 0.2_687]]]					,						device=snake_case__					,						dtype=torch.float					,						)
													# camembert = torch.hub.load('pytorch/fairseq', 'camembert.v0')
													# camembert.eval()
													# expected_slice = roberta.model.forward(input_ids)[0][:, :3, :3].detach()

													self.assertTrue(torch.allclose(output[:, :3, :3]					,						snake_case__					,						atol=1e-4     )     )






'''simple docstring'''







def      SCREAMING_SNAKE_CASE_ (  _UpperCAmelCase     :     Union[str, Any]  )  ->      int:
       _a   :			List[str]					 =[701, 301, 132, 57, 23, 10, 4, 1]
       for gap in gaps:
              for i in range(_UpperCAmelCase   ,len(_UpperCAmelCase  )  ):
                     _a   :			Tuple					 =collection[i]
                     _a   :			Optional[Any]					 =i
                     while j >= gap and collection[j - gap] > insert_value:
                            _a   :			Union[str, Any]					 =collection[j - gap]
                            j -= gap
                     if j != i:
                            _a   :			Union[str, Any]					 =insert_value
       return collection


if __name__ == "__main__":
   from doctest import testmod

   testmod()
   A__:   int    =	input('''Enter numbers separated by a comma:\n''').strip()
   A__:   Optional[Any]    =	[int(item) for item in user_input.split(''',''')]
   print(shell_sort(unsorted))


