'''simple docstring'''






def   __UpperCAmelCase     (    a_:			int				):
   return sum(i for i in range(1,   number // 2 + 1				) if number % i == 0				) == number


if __name__ == "__main__":
     print('Program to check whether a number is a Perfect number or not...')
     __a									=   int(input('Enter number: ').strip())
     print(f'{number} is {"" if perfect(number) else "not "}a Perfect Number.')







import torch

from transformers import AutoModel






class 					SCREAMING_SNAKE_CASE_  (       torch.nn.Module ):
       """simple docstring"""


       def __init__(				self	:Dict,      snake_case	:str="sayef/fsner-bert-base-uncased"):



          """simple docstring"""

          super(snake_case,      self).__init__()

          _lowercase              =AutoModel.from_pretrained(snake_case,      return_dict=snake_case)
          _lowercase              =torch.nn.CosineSimilarity(3,      1e-0_8)
          _lowercase              =torch.nn.Softmax(dim=1)





       def 				UpperCamelCase__						(				self	:str,      **snake_case	:int):



          """simple docstring"""

          return self.bert(**snake_case).last_hidden_state





       def 				UpperCamelCase__						(				self	:Union[str, Any],      snake_case	:Optional[Any]):



          """simple docstring"""

          return token_embeddings.sum(2,      keepdim=snake_case)





       def 				UpperCamelCase__						(				self	:List[Any],      snake_case	:int,      snake_case	:Dict,      snake_case	:Dict=1):



          """simple docstring"""

          return self.softmax(T * self.cos(snake_case,      snake_case))





       def 				UpperCamelCase__						(				self	:List[str],      snake_case	:int,      snake_case	:List[str]):



          """simple docstring"""

          _lowercase              =W_supports['sizes'].tolist()
          _lowercase              =W_supports['start_token_id'].item()
          _lowercase              =W_supports['end_token_id'].item()

          del W_supports["sizes"]
          del W_supports["start_token_id"]
          del W_supports["end_token_id"]

          _lowercase              =self.BERT(**snake_case)
          _lowercase              =self.BERT(**snake_case)

          _lowercase              =None
          _lowercase              =None

          _lowercase              =W_supports['input_ids'] == start_token_id
          _lowercase              =W_supports['input_ids'] == end_token_id

          for i, size in enumerate(snake_case):
             if i == 0:
                _lowercase              =0
             else:
                _lowercase              =support_sizes[i - 1]

             _lowercase              =S[s : s + size][start_token_masks[s : s + size]]
             _lowercase              =S[s : s + size][end_token_masks[s : s + size]]

             _lowercase              =torch.matmul(q[i],      s_start.T).sum(1).softmax(0)
             _lowercase              =torch.matmul(q[i],      s_end.T).sum(1).softmax(0)

             if p_starts is not None:
                _lowercase              =torch.vstack((p_starts, p_start))
                _lowercase              =torch.vstack((p_ends, p_end))
             else:
                _lowercase              =p_start
                _lowercase              =p_end

          return p_starts, p_ends


