






'''simple docstring'''


from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


lowerCamelCase_				: int    	=							{
    '''configuration_squeezebert''': [
        '''SQUEEZEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''SqueezeBertConfig''',
        '''SqueezeBertOnnxConfig''',
    ],
    '''tokenization_squeezebert''': ['''SqueezeBertTokenizer'''],
}

try:
					if not is_tokenizers_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowerCamelCase_				: Tuple    	=							['''SqueezeBertTokenizerFast''']

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowerCamelCase_				: List[str]    	=							[
					    '''SQUEEZEBERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
					    '''SqueezeBertForMaskedLM''',
					    '''SqueezeBertForMultipleChoice''',
					    '''SqueezeBertForQuestionAnswering''',
					    '''SqueezeBertForSequenceClassification''',
					    '''SqueezeBertForTokenClassification''',
					    '''SqueezeBertModel''',
					    '''SqueezeBertModule''',
					    '''SqueezeBertPreTrainedModel''',
					]


if TYPE_CHECKING:
					from .configuration_squeezebert import (
					    SQUEEZEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP,
					    SqueezeBertConfig,
					    SqueezeBertOnnxConfig,
					)
					from .tokenization_squeezebert import SqueezeBertTokenizer

					try:
										if not is_tokenizers_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_squeezebert_fast import SqueezeBertTokenizerFast

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_squeezebert import (
										    SQUEEZEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    SqueezeBertForMaskedLM,
										    SqueezeBertForMultipleChoice,
										    SqueezeBertForQuestionAnswering,
										    SqueezeBertForSequenceClassification,
										    SqueezeBertForTokenClassification,
										    SqueezeBertModel,
										    SqueezeBertModule,
										    SqueezeBertPreTrainedModel,
										)

else:
					import sys

					lowerCamelCase_				: Optional[int]    	=							_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)











'''simple docstring'''


from collections import defaultdict







def 	__magic_name__( _A					):
						'''simple docstring'''





						UpperCamelCase__         = 1
						UpperCamelCase__         = True
						for v in tree[start]:
												if v not in visited:
																		ret += dfs(_A					)
						if ret % 2 == 0:
												cuts.append(_A					)
						return ret







def 	__magic_name__( ):
						'''simple docstring'''





						dfs(1					)


if __name__ == "__main__":
					lowerCamelCase_	,     lowerCamelCase_				: int    	=							10, 9
					lowerCamelCase_				: int    	=							defaultdict(list)
					lowerCamelCase_				: dict[int, bool]    	=							{}
					lowerCamelCase_				: list[int]    	=							[]
					lowerCamelCase_				: Union[str, Any]    	=							0
					lowerCamelCase_				: Tuple    	=							[(2, 1), (3, 1), (4, 3), (5, 2), (6, 1), (7, 2), (8, 6), (9, 8), (10, 8)]
					for u, v in edges:
										tree[u].append(v)
										tree[v].append(u)
					even_tree()
					print(len(cuts) - 1)
