





"""simple docstring"""






from typing import List, Optional, Union

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


lowerCAmelCase_			=							logging.get_logger(__name__)

lowerCAmelCase_			=							{
    '''huggingface/time-series-transformer-tourism-monthly''': (
        '''https://huggingface.co/huggingface/time-series-transformer-tourism-monthly/resolve/main/config.json'''
    ),
    # See all TimeSeriesTransformer models at https://huggingface.co/models?filter=time_series_transformer
}



class 	lowerCAmelCase					(      snake_case							):
       lowerCAmelCase__						 =  """time_series_transformer"""
       lowerCAmelCase__						 =  {
           """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__ = [1, 2, 3, 4, 5, 6, 7]    ,  a__ = "mean"    ,  a__ = 0    ,  a__ = 0    ,  a__ = 0    ,  a__ = 0    ,  a__ = None    ,  a__ = None    ,  a__ = 32    ,  a__ = 32    ,  a__ = 2    ,  a__ = 2    ,  a__ = 2    ,  a__ = 2    ,  a__ = True    ,  a__ = "gelu"    ,  a__ = 64    ,  a__ = 0.1    ,  a__ = 0.1    ,  a__ = 0.1    ,  a__ = 0.1    ,  a__ = 0.1    ,  a__ = 1_00    ,  a__ = 0.02    ,  a__=True    ,  **a__    ,  ):
              # time series specific configuration
              _UpperCAmelCase     =     prediction_length
              _UpperCAmelCase     =     context_length or prediction_length
              _UpperCAmelCase     =     distribution_output
              _UpperCAmelCase     =     loss
              _UpperCAmelCase     =     input_size
              _UpperCAmelCase     =     num_time_features
              _UpperCAmelCase     =     lags_sequence
              _UpperCAmelCase     =     scaling
              _UpperCAmelCase     =     num_dynamic_real_features
              _UpperCAmelCase     =     num_static_real_features
              _UpperCAmelCase     =     num_static_categorical_features
              if cardinality and num_static_categorical_features > 0:
                     if len(a__     ) != num_static_categorical_features:
                            raise ValueError(
                                'The cardinality should be a list of the same length as `num_static_categorical_features`'     )
                     _UpperCAmelCase     =     cardinality
              else:
                     _UpperCAmelCase     =     [0]
              if embedding_dimension and num_static_categorical_features > 0:
                     if len(a__     ) != num_static_categorical_features:
                            raise ValueError(
                                'The embedding dimension should be a list of the same length as `num_static_categorical_features`'     )
                     _UpperCAmelCase     =     embedding_dimension
              else:
                     _UpperCAmelCase     =     [min(50    ,  (cat + 1) // 2     ) for cat in self.cardinality]
              _UpperCAmelCase     =     num_parallel_samples

              # Transformer architecture configuration
              _UpperCAmelCase     =     input_size * len(a__     ) + self._number_of_features
              _UpperCAmelCase     =     d_model
              _UpperCAmelCase     =     encoder_attention_heads
              _UpperCAmelCase     =     decoder_attention_heads
              _UpperCAmelCase     =     encoder_ffn_dim
              _UpperCAmelCase     =     decoder_ffn_dim
              _UpperCAmelCase     =     encoder_layers
              _UpperCAmelCase     =     decoder_layers

              _UpperCAmelCase     =     dropout
              _UpperCAmelCase     =     attention_dropout
              _UpperCAmelCase     =     activation_dropout
              _UpperCAmelCase     =     encoder_layerdrop
              _UpperCAmelCase     =     decoder_layerdrop

              _UpperCAmelCase     =     activation_function
              _UpperCAmelCase     =     init_std

              _UpperCAmelCase     =     use_cache

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






       @property
       def 							__A (   self     ):
              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
              )













"""simple docstring"""






import sys

lowerCAmelCase_			=							(
    '''73167176531330624919225119674426574742355349194934'''
    '''96983520312774506326239578318016984801869478851843'''
    '''85861560789112949495459501737958331952853208805511'''
    '''12540698747158523863050715693290963295227443043557'''
    '''66896648950445244523161731856403098711121722383113'''
    '''62229893423380308135336276614282806444486645238749'''
    '''30358907296290491560440772390713810515859307960866'''
    '''70172427121883998797908792274921901699720888093776'''
    '''65727333001053367881220235421809751254540594752243'''
    '''52584907711670556013604839586446706324415722155397'''
    '''53697817977846174064955149290862569321978468622482'''
    '''83972241375657056057490261407972968652414535100474'''
    '''82166370484403199890008895243450658541227588666881'''
    '''16427171479924442928230863465674813919123162824586'''
    '''17866458359124566529476545682848912883142607690042'''
    '''24219022671055626321111109370544217506941658960408'''
    '''07198403850962455444362981230987879927244284909188'''
    '''84580156166097919133875499200524063689912560717606'''
    '''05886116467109405077541002256983155200055935729725'''
    '''71636269561882670428252483600823257530420752963450'''
)

def       __lowerCamelCase    (       SCREAMING_SNAKE_CASE							)		->       int:






       """simple docstring"""




       _UpperCAmelCase     =     1
       for digit in s:
              product *= int(SCREAMING_SNAKE_CASE							)
       return product

def       __lowerCamelCase    (       SCREAMING_SNAKE_CASE = N							)		->       int:






       """simple docstring"""




       _UpperCAmelCase     =     -sys.maxsize - 1
       _UpperCAmelCase     =     n[:13]
       _UpperCAmelCase     =     13
       while cur_index < len(SCREAMING_SNAKE_CASE							) - 13:
              if int(n[cur_index]							) >= int(substr[0]							):
                     _UpperCAmelCase     =     substr[1:] + n[cur_index]
                     cur_index += 1
              else:
                     _UpperCAmelCase     =     max(SCREAMING_SNAKE_CASE,str_eval(SCREAMING_SNAKE_CASE							)							)
                     _UpperCAmelCase     =     n[cur_index : cur_index + 13]
                     cur_index += 13
       return largest_product


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






