





"""simple docstring"""
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"""
__UpperCamelCase			:		Tuple		    =   10**8

def 						_SCREAMING_SNAKE_CASE       (_UpperCAmelCase :  int       ):
 if n % 10 == 0:
  return False
 lowerCAmelCase  							=      str(_UpperCAmelCase       )
 return s == s[::-1]

def 						_SCREAMING_SNAKE_CASE       ():
 lowerCAmelCase  							=      set()
 lowerCAmelCase  							=      1
 lowerCAmelCase  							=      5
 while sum_squares < LIMIT:
  lowerCAmelCase  							=      first_square + 1
  while sum_squares < LIMIT:
   if is_palindrome(_UpperCAmelCase       ):
    answer.add(_UpperCAmelCase       )
   last_square += 1
   sum_squares += last_square**2
  first_square += 1
  lowerCAmelCase  							=      first_square**2 + (first_square + 1) ** 2

 return sum(_UpperCAmelCase       )


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





