"""simple docstring"""




import functools
import operator

from ...configuration_utils import PretrainedConfig
from ...utils import logging


_a   :	Dict 					=     logging.get_logger(__name__)

_a   :	int 					=     {
    'asapp/sew-d-tiny-100k': 'https://huggingface.co/asapp/sew-d-tiny-100k/resolve/main/config.json',
    # See all SEW-D models at https://huggingface.co/models?filter=sew-d
}
class 		__A							(				SCREAMING_SNAKE_CASE_	):
     _UpperCamelCase							:    Union[str, Any]	      =	"sew-d"






     def __init__(	self       ,  a__=32       ,  a__=768       ,  a__=12       ,  a__=12       ,  a__=3072       ,  a__=2       ,  a__=512       ,  a__=256       ,  a__=True       ,  a__=True       ,  a__=("p2c", "c2p")       ,  a__="layer_norm"       ,  a__="gelu_python"       ,  a__=0.1       ,  a__=0.1       ,  a__=0.1       ,  a__=0.0       ,  a__=0.1       ,  a__=0.0_2       ,  a__=1e-7       ,  a__=1e-5       ,  a__="group"       ,  a__="gelu"       ,  a__=(64, 128, 128, 128, 128, 256, 256, 256, 256, 512, 512, 512, 512)       ,  a__=(5, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1)       ,  a__=(10, 3, 1, 3, 1, 3, 1, 3, 1, 2, 1, 2, 1)       ,  a__=False       ,  a__=128       ,  a__=16       ,  a__=True       ,  a__=0.0_5       ,  a__=10       ,  a__=2       ,  a__=0.0       ,  a__=10       ,  a__=0       ,  a__="mean"       ,  a__=False       ,  a__=False       ,  a__=256       ,  a__=0       ,  a__=1       ,  a__=2       ,  **a__       ,  ):
       super().__init__(**a__       ,  pad_token_id=a__       ,  bos_token_id=a__       ,  eos_token_id=a__						)
       _lowerCAmelCase		: int						    =  hidden_size
       _lowerCAmelCase		: Optional[Any]						    =  feat_extract_norm
       _lowerCAmelCase		: Any						    =  feat_extract_activation
       _lowerCAmelCase		: Optional[int]						    =  list(a__						)
       _lowerCAmelCase		: Dict						    =  list(a__						)
       _lowerCAmelCase		: Tuple						    =  list(a__						)
       _lowerCAmelCase		: int						    =  conv_bias
       _lowerCAmelCase		: Any						    =  num_conv_pos_embeddings
       _lowerCAmelCase		: List[Any]						    =  num_conv_pos_embedding_groups
       _lowerCAmelCase		: int						    =  len(self.conv_dim						)
       _lowerCAmelCase		: Optional[Any]						    =  num_hidden_layers
       _lowerCAmelCase		: List[str]						    =  intermediate_size
       _lowerCAmelCase		: int						    =  squeeze_factor
       _lowerCAmelCase		: Dict						    =  max_position_embeddings
       _lowerCAmelCase		: Optional[Any]						    =  position_buckets
       _lowerCAmelCase		: List[str]						    =  share_att_key
       _lowerCAmelCase		: Optional[Any]						    =  relative_attention
       _lowerCAmelCase		: str						    =  norm_rel_ebd
       _lowerCAmelCase		: Any						    =  list(a__						)
       _lowerCAmelCase		: List[Any]						    =  hidden_act
       _lowerCAmelCase		: str						    =  num_attention_heads
       _lowerCAmelCase		: List[str]						    =  hidden_dropout
       _lowerCAmelCase		: List[str]						    =  attention_dropout
       _lowerCAmelCase		: Union[str, Any]						    =  activation_dropout
       _lowerCAmelCase		: Dict						    =  feat_proj_dropout
       _lowerCAmelCase		: int						    =  final_dropout
       _lowerCAmelCase		: int						    =  layer_norm_eps
       _lowerCAmelCase		: List[Any]						    =  feature_layer_norm_eps
       _lowerCAmelCase		: str						    =  initializer_range
       _lowerCAmelCase		: List[str]						    =  vocab_size

       if (
           (len(self.conv_stride						) != self.num_feat_extract_layers)
           or (len(self.conv_kernel						) != self.num_feat_extract_layers)
           or (len(self.conv_dim						) != self.num_feat_extract_layers)
       ):
         raise ValueError(
             """Configuration for convolutional layers is incorrect."""
             """It is required that `len(config.conv_dim)` == `len(config.conv_stride)` == `len(config.conv_kernel)`,"""
             F"but is `len(config.conv_dim) = {len(self.conv_dim						)}`, `len(config.conv_stride)"
             F"= {len(self.conv_stride						)}`, `len(config.conv_kernel) = {len(self.conv_kernel						)}`."						)

       # fine-tuning config parameters for SpecAugment: https://arxiv.org/abs/1904.08779
       _lowerCAmelCase		: List[Any]						    =  apply_spec_augment
       _lowerCAmelCase		: List[Any]						    =  mask_time_prob
       _lowerCAmelCase		: Any						    =  mask_time_length
       _lowerCAmelCase		: int						    =  mask_time_min_masks
       _lowerCAmelCase		: Optional[int]						    =  mask_feature_prob
       _lowerCAmelCase		: List[str]						    =  mask_feature_length
       _lowerCAmelCase		: Any						    =  mask_feature_min_masks

       # ctc loss
       _lowerCAmelCase		: Tuple						    =  ctc_loss_reduction
       _lowerCAmelCase		: List[str]						    =  ctc_zero_infinity

       # sequence classification
       _lowerCAmelCase		: Union[str, Any]						    =  use_weighted_layer_sum
       _lowerCAmelCase		: Optional[int]						    =  classifier_proj_size






     @property
     def 					__A						(	self						):
       return functools.reduce(operator.mul       ,  self.conv_stride       ,  1						)





"""simple docstring"""




def 							SCREAMING_SNAKE_CASE  (    _lowerCamelCase		: int			) ->   bool:
  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 					=     int(input('Enter number: ').strip())
     print(F"""{number} is {"" if perfect(number) else "not "}a Perfect Number.""")




