



def  a_  (							_lowerCAmelCase ,_lowerCAmelCase )   ->   Optional[int]:
  if n == 0:
    return 1

  elif n % 2 == 1:
    return binary_exponentiation(_lowerCAmelCase ,n - 1 ) * a

  else:
    __lowerCamelCase : List[str]					 =				binary_exponentiation(_lowerCAmelCase ,n / 2 )
    return b * b


if __name__ == "__main__":
   try:
      _UpperCamelCase							       =		int(input('Enter Base : ').strip())
      _UpperCamelCase							       =		int(input('Enter Power : ').strip())
   except ValueError:
      print('Invalid literal for integer')

   _UpperCamelCase							       =		binary_exponentiation(BASE, POWER)
   print(f'''{BASE}^({POWER}) : {RESULT}''')











'''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       lowerCamelCase_					(       unittest.TestCase  ):
  """simple docstring"""




  @slow
  def 		_lowercase  (				self   :			str     )      ->      List[Any]:
    __lowerCamelCase : str					 =				CamembertModel.from_pretrained('camembert-base'     )
    model.to(_a     )

    __lowerCamelCase : List[Any]					 =				torch.tensor(
        [[5, 121, 11, 660, 16, 730, 2_5543, 110, 83, 6]]    ,			device=_a    ,			dtype=torch.long    ,			)  # J'aime le camembert !
    with torch.no_grad():
      __lowerCamelCase : int					 =				model(_a     )['last_hidden_state']
    __lowerCamelCase : Optional[int]					 =				torch.Size((1, 10, 768)     )
    self.assertEqual(output.shape    ,			_a     )
    # compare the actual values for a slice.
    __lowerCamelCase : Tuple					 =				torch.tensor(
        [[[-0.0254, 0.0235, 0.1027], [0.0606, -0.1811, -0.0418], [-0.1561, -0.1127, 0.2687]]]    ,			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     )     )






