

from itertools import permutations


def  __a    (				SCREAMING_SNAKE_CASE = 5 ) ->       int:






    '''simple docstring'''
    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
    __UpperCAmelCase			   =     list(range(gon_side + 1    ,				0    ,				-1 ) )
    __UpperCAmelCase			   =     list(range(gon_side + 2    ,				gon_side * 2 + 1 ) )

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

    __UpperCAmelCase			   =     f'''Magic {gon_side}-gon ring is impossible'''
    raise ValueError(SCREAMING_SNAKE_CASE )


def  __a    (				SCREAMING_SNAKE_CASE    ,				SCREAMING_SNAKE_CASE ) ->       list[int]:






    '''simple docstring'''
    __UpperCAmelCase			   =     [0] * (gon_side * 3)
    __UpperCAmelCase			   =     perm[0:3]
    perm.append(perm[1] )

    __UpperCAmelCase			   =     1 if gon_side < 5 else 2

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

    return result


def  __a    (				SCREAMING_SNAKE_CASE ) ->       bool:






    '''simple docstring'''
    if len(SCREAMING_SNAKE_CASE ) % 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

    __UpperCAmelCase			   =     sum(numbers[:3] )

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


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







# this script builds a small sample spm file tests/fixtures/test_sentencepiece_no_bos.model, with features needed by pegasus

# 1. pip install sentencepiece
#
# 2. wget https://raw.githubusercontent.com/google/sentencepiece/master/data/botchan.txt

# 3. build
import sentencepiece as spm

# pegasus:
# 1. no bos
# 2. eos_id is 1
# 3. unk_id is 2
# build a sample spm file accordingly
spm.SentencePieceTrainer.train(
    '--input=botchan.txt --model_prefix=test_sentencepiece_no_bos --bos_id=-1 --unk_id=2  --eos_id=1  --vocab_size=1000'
)

# 4. now update the fixture
# mv test_sentencepiece_no_bos.model ../../tests/fixtures/




