





from itertools import permutations

def 		_SCREAMING_SNAKE_CASE (_UpperCAmelCase				:						int = 5 ):
 if gon_side < 3 or gon_side > 5:
  raise ValueError('gon_side must be in the range [3, 5]' )

 # Since it's 16, we know 10 is on the outer ring
 # Put the big numbers at the end so that they are never the first number
 lowerCAmelCase													=   list(range(gon_side + 1     ,    0     ,    -1 ) )
 lowerCAmelCase													=   list(range(gon_side + 2     ,    gon_side * 2 + 1 ) )

 for perm in permutations(small_numbers + big_numbers ):
  lowerCAmelCase													=   generate_gon_ring(_UpperCAmelCase     ,    list(_UpperCAmelCase ) )
  if is_magic_gon(_UpperCAmelCase ):
   return int(''.join(str(_UpperCAmelCase ) for n in numbers ) )

 lowerCAmelCase													=   F'Magic {gon_side}-gon ring is impossible'
 raise ValueError(_UpperCAmelCase )

def 		_SCREAMING_SNAKE_CASE (_UpperCAmelCase				:						int     ,    _UpperCAmelCase				:						list[int] ):
 lowerCAmelCase													=   [0] * (gon_side * 3)
 lowerCAmelCase													=   perm[0:3]
 perm.append(perm[1] )

 lowerCAmelCase													=   1 if gon_side < 5 else 2

 for i in range(1     ,    len(_UpperCAmelCase ) // 3 + magic_number ):
  lowerCAmelCase													=   perm[2 * i + 1]
  lowerCAmelCase													=   result[3 * i - 1]
  lowerCAmelCase													=   perm[2 * i + 2]

 return result

def 		_SCREAMING_SNAKE_CASE (_UpperCAmelCase				:						list[int] ):
 if len(_UpperCAmelCase ) % 3 != 0:
  raise ValueError('a gon ring should have a length that is a multiple of 3' )

 if min(numbers[::3] ) != numbers[0]:
  return False

 lowerCAmelCase													=   sum(numbers[:3] )

 return all(sum(numbers[i : i + 3] ) == total for i in range(3     ,    len(_UpperCAmelCase )     ,    3 ) )


if __name__ == "__main__":
       print(solution())












"""simple docstring"""
from ...configuration_utils import PretrainedConfig
from ...utils import logging


__UpperCamelCase    :	Dict						=     logging.get_logger(__name__)

__UpperCamelCase    :	List[Any]						=     {
    '''microsoft/mpnet-base''': '''https://huggingface.co/microsoft/mpnet-base/resolve/main/config.json''',
}







class 			a       (      a__     ):
 snake_case__								=					'''mpnet'''



 def __init__(    self							,					_snake_case=3_05_27							,					_snake_case=7_68							,					_snake_case=12							,					_snake_case=12							,					_snake_case=30_72							,					_snake_case="gelu"							,					_snake_case=0.1							,					_snake_case=0.1							,					_snake_case=5_12							,					_snake_case=0.02							,					_snake_case=1E-12							,					_snake_case=32							,					_snake_case=1							,					_snake_case=0							,					_snake_case=2							,					**_snake_case							,					):







  """simple docstring"""






  super().__init__(pad_token_id=_snake_case							,					bos_token_id=_snake_case							,					eos_token_id=_snake_case							,					**_snake_case    )

  lowerCAmelCase													=   vocab_size
  lowerCAmelCase													=   hidden_size
  lowerCAmelCase													=   num_hidden_layers
  lowerCAmelCase													=   num_attention_heads
  lowerCAmelCase													=   hidden_act
  lowerCAmelCase													=   intermediate_size
  lowerCAmelCase													=   hidden_dropout_prob
  lowerCAmelCase													=   attention_probs_dropout_prob
  lowerCAmelCase													=   max_position_embeddings
  lowerCAmelCase													=   initializer_range
  lowerCAmelCase													=   layer_norm_eps
  lowerCAmelCase													=   relative_attention_num_buckets





