
'''simple docstring'''



import itertools
def 				lowerCAmelCase_		(			SCREAMING_SNAKE_CASE_ = 1_00_00_00  )       ->       int:




   """simple docstring"""
   _SCREAMING_SNAKE_CASE       	=			[1]

   for i in itertools.count(len(SCREAMING_SNAKE_CASE_  )  ):
      _SCREAMING_SNAKE_CASE       	=			0
      for j in itertools.count(1  ):
         _SCREAMING_SNAKE_CASE       	=			-1 if j % 2 == 0 else +1
         _SCREAMING_SNAKE_CASE       	=			(j * j * 3 - j) // 2
         if index > i:
            break
         item += partitions[i - index] * sign
         item %= number
         index += j
         if index > i:
            break
         item += partitions[i - index] * sign
         item %= number

      if item == 0:
         return i
      partitions.append(SCREAMING_SNAKE_CASE_  )

   return 0


if __name__ == "__main__":
     import doctest

     doctest.testmod()

     print(f"""{solution() = }""")








'''simple docstring'''



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


UpperCamelCase__ :						int    							=					logging.get_logger(__name__)

UpperCamelCase__ :						Any    							=					{
    "openbmb/cpm-ant-10b": "https://huggingface.co/openbmb/cpm-ant-10b/blob/main/config.json"
    # See all CPMAnt models at https://huggingface.co/models?filter=cpmant
}

class 				_a			(_lowerCamelCase):





       """simple docstring"""




       SCREAMING_SNAKE_CASE =					'cpmant'






       def __init__(							self    ,							A__ = 3_07_20    ,							A__ = 40_96    ,							A__ = 32    ,							A__ = 1_28    ,							A__ = 1_02_40    ,							A__ = 48    ,							A__ = 0.0    ,							A__ = 5_12    ,							A__ = 20_48    ,							A__ = 1E-6    ,							A__ = 1.0    ,							A__ = 32    ,							A__ = 32    ,							A__ = 32    ,							A__ = True    ,							**A__    ,							)      ->     List[Any]:
          super().__init__(**A__ )
          _SCREAMING_SNAKE_CASE       	=			prompt_types
          _SCREAMING_SNAKE_CASE       	=			prompt_length
          _SCREAMING_SNAKE_CASE       	=			segment_types
          _SCREAMING_SNAKE_CASE       	=			hidden_size
          _SCREAMING_SNAKE_CASE       	=			num_attention_heads
          _SCREAMING_SNAKE_CASE       	=			dim_head
          _SCREAMING_SNAKE_CASE       	=			dim_ff
          _SCREAMING_SNAKE_CASE       	=			num_hidden_layers
          _SCREAMING_SNAKE_CASE       	=			position_bias_num_buckets
          _SCREAMING_SNAKE_CASE       	=			position_bias_max_distance
          _SCREAMING_SNAKE_CASE       	=			dropout_p
          _SCREAMING_SNAKE_CASE       	=			eps
          _SCREAMING_SNAKE_CASE       	=			use_cache
          _SCREAMING_SNAKE_CASE       	=			vocab_size
          _SCREAMING_SNAKE_CASE       	=			init_std






