




import platform
from argparse import ArgumentParser

import huggingface_hub
import pandas
import pyarrow

from datasets import __version__ as version
from datasets.commands import BaseDatasetsCLICommand



def    UpperCAmelCase							(  _snake_case				):
							return EnvironmentCommand()


class 				__UpperCamelCase      (			__UpperCAmelCase	):





				'''simple docstring'''



				@staticmethod
				def    __snake_case		(			UpperCAmelCase_    ):
											lowerCAmelCase =		parser.add_parser('''env'''							,			help='''Print relevant system environment info.'''    )
											download_parser.set_defaults(func=UpperCAmelCase_    )



				def    __snake_case		(			self    ):
											lowerCAmelCase =		{
											    '''`datasets` version''': version,
											    '''Platform''': platform.platform(),
											    '''Python version''': platform.python_version(),
											    '''Huggingface_hub version''': huggingface_hub.__version__,
											    '''PyArrow version''': pyarrow.__version__,
											    '''Pandas version''': pandas.__version__,
											}

											print('''\nCopy-and-paste the text below in your GitHub issue.\n'''    )
											print(self.format_dict(UpperCAmelCase_    )    )

											return info






				@staticmethod
				def    __snake_case		(			UpperCAmelCase_    ):
											return "\n".join([F"""- {prop}: {val}""" for prop, val in d.items()]    ) + "\n"









from itertools import permutations



def    UpperCAmelCase							(  _snake_case = 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(_snake_case    ,			list(_snake_case				)				)
														if is_magic_gon(_snake_case				):
																					return int(''''''.join(str(_snake_case				) for n in numbers				)				)

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



def    UpperCAmelCase							(  _snake_case    ,			_snake_case				):
							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(_snake_case				) // 3 + magic_number				):
														lowerCAmelCase =		perm[2 * i + 1]
														lowerCAmelCase =		result[3 * i - 1]
														lowerCAmelCase =		perm[2 * i + 2]

							return result



def    UpperCAmelCase							(  _snake_case				):
							if len(_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

							lowerCAmelCase =		sum(numbers[:3]				)

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


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



