




'''simple docstring'''





def        __lowerCAmelCase (UpperCAmelCase_ = 4_000_000		):
    a__      =       1
    a__      =       2
    a__      =       0
    while j <= n:
        if j % 2 == 0:
            total += j
        a__ ,		a__      =       j, i + j

    return total


if __name__ == "__main__":
 print(F"{solution() = }")












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 		__UpperCAmelCase(		unittest.TestCase ):





     """simple docstring"""



     @slow
     def 				__SCREAMING_SNAKE_CASE		(      self :       Tuple    )			->			List[Any]:






         """simple docstring"""
         a__      =       CamembertModel.from_pretrained("""camembert-base"""    )
         model.to(A    )

         a__      =       torch.tensor(
             [[5, 1_21, 11, 6_60, 16, 7_30, 2_55_43, 1_10, 83, 6]]						,				device=A						,				dtype=torch.long						,				)  # J'aime le camembert !
         with torch.no_grad():
             a__      =       model(A    )["""last_hidden_state"""]
         a__      =       torch.Size((1, 10, 7_68)    )
         self.assertEqual(output.shape						,				A    )
         # compare the actual values for a slice.
         a__      =       torch.tensor(
             [[[-0.0_2_5_4, 0.0_2_3_5, 0.1_0_2_7], [0.0_6_0_6, -0.1_8_1_1, -0.0_4_1_8], [-0.1_5_6_1, -0.1_1_2_7, 0.2_6_8_7]]]						,				device=A						,				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]						,				A						,				atol=1E-4    )    )






