






from typing import List, Optional, Union

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


lowerCamelCase__       		=  logging.get_logger(__name__)

lowerCamelCase__       		=  {
    """huggingface/informer-tourism-monthly""": (
        """https://huggingface.co/huggingface/informer-tourism-monthly/resolve/main/config.json"""
    ),
    # See all Informer models at https://huggingface.co/models?filter=informer
}




class       snake_case__ (				__snake_case):

       '''simple docstring'''
       lowerCamelCase				:					Tuple								=			"informer"
       lowerCamelCase				:					Optional[int]								=			{
           "hidden_size": "d_model",
           "num_attention_heads": "encoder_attention_heads",
           "num_hidden_layers": "encoder_layers",
       }



       def __init__(				self      ,    a__ = None      ,    a__ = None      ,    a__ = "student_t"      ,    a__ = "nll"      ,    a__ = 1      ,    a__ = None      ,    a__ = "mean"      ,    a__ = 0      ,    a__ = 0      ,    a__ = 0      ,    a__ = 0      ,    a__ = None      ,    a__ = None      ,    a__ = 64      ,    a__ = 32      ,    a__ = 32      ,    a__ = 2      ,    a__ = 2      ,    a__ = 2      ,    a__ = 2      ,    a__ = True      ,    a__ = "gelu"      ,    a__ = 0.05      ,    a__ = 0.1      ,    a__ = 0.1      ,    a__ = 0.1      ,    a__ = 0.1      ,    a__ = 1_00      ,    a__ = 0.02      ,    a__=True      ,    a__ = "prob"      ,    a__ = 5      ,    a__ = True      ,    **a__      ,    )			->   Optional[int]:






            '''simple docstring'''





            __snake_case      :List[str] 							=    prediction_length
            __snake_case      :Tuple 							=    context_length or prediction_length
            __snake_case      :Dict 							=    distribution_output
            __snake_case      :Any 							=    loss
            __snake_case      :Optional[Any] 							=    input_size
            __snake_case      :Union[str, Any] 							=    num_time_features
            __snake_case      :Union[str, Any] 							=    lags_sequence if lags_sequence is not None else [1, 2, 3, 4, 5, 6, 7]
            __snake_case      :Any 							=    scaling
            __snake_case      :Union[str, Any] 							=    num_dynamic_real_features
            __snake_case      :List[str] 							=    num_static_real_features
            __snake_case      :Optional[Any] 							=    num_static_categorical_features

            # set cardinality
            if cardinality and num_static_categorical_features > 0:
                 if len(__lowerCamelCase     ) != num_static_categorical_features:
                      raise ValueError(
                          """The cardinality should be a list of the same length as `num_static_categorical_features`"""     )
                 __snake_case      :Optional[int] 							=    cardinality
            else:
                 __snake_case      :Tuple 							=    [0]

            # set embedding_dimension
            if embedding_dimension and num_static_categorical_features > 0:
                 if len(__lowerCamelCase     ) != num_static_categorical_features:
                      raise ValueError(
                          """The embedding dimension should be a list of the same length as `num_static_categorical_features`"""     )
                 __snake_case      :Tuple 							=    embedding_dimension
            else:
                 __snake_case      :List[Any] 							=    [min(50      ,    (cat + 1) // 2     ) for cat in self.cardinality]

            __snake_case      :Tuple 							=    num_parallel_samples

            # Transformer architecture configuration
            __snake_case      :Any 							=    input_size * len(self.lags_sequence     ) + self._number_of_features
            __snake_case      :Optional[Any] 							=    d_model
            __snake_case      :Union[str, Any] 							=    encoder_attention_heads
            __snake_case      :List[str] 							=    decoder_attention_heads
            __snake_case      :Optional[int] 							=    encoder_ffn_dim
            __snake_case      :int 							=    decoder_ffn_dim
            __snake_case      :int 							=    encoder_layers
            __snake_case      :int 							=    decoder_layers

            __snake_case      :int 							=    dropout
            __snake_case      :Optional[Any] 							=    attention_dropout
            __snake_case      :int 							=    activation_dropout
            __snake_case      :Any 							=    encoder_layerdrop
            __snake_case      :Optional[Any] 							=    decoder_layerdrop

            __snake_case      :int 							=    activation_function
            __snake_case      :Tuple 							=    init_std

            __snake_case      :str 							=    use_cache

            # Informer
            __snake_case      :Tuple 							=    attention_type
            __snake_case      :Dict 							=    sampling_factor
            __snake_case      :List[str] 							=    distil

            super().__init__(is_encoder_decoder=__lowerCamelCase      ,    **__lowerCamelCase     )



       @property
       def        __lowercase    (				self     )			->   int:






            '''simple docstring'''





            return (
                sum(self.embedding_dimension     )
                + self.num_dynamic_real_features
                + self.num_time_features
                + self.num_static_real_features
                + self.input_size * 2  # the log1p(abs(loc)) and log(scale) features
            )






from __future__ import annotations

import math
def 	_UpperCamelCase					(    lowerCAmelCase_ )    ->bool:

   if 1 < number < 4:
      # 2 and 3 are primes
      return True
   elif number < 2 or number % 2 == 0 or number % 3 == 0:
      # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
      return False

   # All primes number are in format of 6k +/- 1
   for i in range(5	,    int(math.sqrt(lowerCAmelCase_ ) + 1 )	,    6 ):
      if number % i == 0 or number % (i + 2) == 0:
         return False
   return True


__a	 =      [num for num in range(3, 10_0001, 2) if not is_prime(num)]
def 	_UpperCamelCase					(    lowerCAmelCase_ )    ->list[int]:
   if not isinstance(lowerCAmelCase_	,    lowerCAmelCase_ ):
      raise ValueError("""n must be an integer""" )
   if n <= 0:
      raise ValueError("""n must be >= 0""" )

   UpperCAmelCase      					=  []
   for num in range(len(lowerCAmelCase_ ) ):
      UpperCAmelCase      					=  0
      while 2 * i * i <= odd_composites[num]:
         UpperCAmelCase      					=  odd_composites[num] - 2 * i * i
         if is_prime(lowerCAmelCase_ ):
            break
         i += 1
      else:
         list_nums.append(odd_composites[num] )
         if len(lowerCAmelCase_ ) == n:
            return list_nums

   return []
def 	_UpperCamelCase					(    )    ->int:
   return compute_nums(1 )[0]


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



