

import sys
from collections import defaultdict

class 				UpperCAmelCase_		:
							"""simple docstring"""







							def __init__(			self       )    ->    Tuple:
												_a	:    Any         =		[]


							def 				__lowercase				(			self       ,							_a       )    ->    Tuple:
												return self.node_position[vertex]


							def 				__lowercase				(			self       ,							_a       ,							_a       )    ->    Optional[int]:
												_a	:    str         =		pos


							def 				__lowercase				(			self       ,							_a       ,							_a       ,							_a       ,							_a       )    ->    int:
												if start > size // 2 - 1:
																	return
												else:
																	if 2 * start + 2 >= size:
																						_a	:    Optional[Any]         =		2 * start + 1
																	else:
																						if heap[2 * start + 1] < heap[2 * start + 2]:
																											_a	:    Any         =		2 * start + 1
																						else:
																											_a	:    Tuple         =		2 * start + 2
																	if heap[smallest_child] < heap[start]:
																						_a      ,					_a	:    Tuple         =		heap[smallest_child], positions[smallest_child]
																						_a      ,					_a	:    Tuple         =		(
																						    heap[start],
																						    positions[start],
																						)
																						_a      ,					_a	:    Optional[Any]         =		temp, tempa

																						_a	:    str         =		self.get_position(positions[smallest_child]       )
																						self.set_position(
																						    positions[smallest_child]       ,							self.get_position(positions[start]       )       )
																						self.set_position(positions[start]       ,							_a       )

																						self.top_to_bottom(_a       ,							_a       ,							_a       ,							_a       )


							def 				__lowercase				(			self       ,							_a       ,							_a       ,							_a       ,							_a       )    ->    str:
												_a	:    int         =		position[index]

												while index != 0:
																	_a	:    int         =		int((index - 2) / 2       ) if index % 2 == 0 else int((index - 1) / 2       )

																	if val < heap[parent]:
																						_a	:    List[Any]         =		heap[parent]
																						_a	:    List[str]         =		position[parent]
																						self.set_position(position[parent]       ,							_a       )
																	else:
																						_a	:    Dict         =		val
																						_a	:    List[Any]         =		temp
																						self.set_position(_a       ,							_a       )
																						break
																	_a	:    Any         =		parent
												else:
																	_a	:    Dict         =		val
																	_a	:    List[Any]         =		temp
																	self.set_position(_a       ,							0       )


							def 				__lowercase				(			self       ,							_a       ,							_a       )    ->    List[Any]:
												_a	:    Tuple         =		len(_a       ) // 2 - 1
												for i in range(_a       ,							-1       ,							-1       ):
																	self.top_to_bottom(_a       ,							_a       ,							len(_a       )       ,							_a       )




							def 				__lowercase				(			self       ,							_a       ,							_a       )    ->    Optional[Any]:
												_a	:    Optional[int]         =		positions[0]
												_a	:    Optional[int]         =		sys.maxsize
												self.top_to_bottom(_a       ,							0       ,							len(_a       )       ,							_a       )
												return temp



def    __UpperCAmelCase (	__a      :			int	)			->     List[str]:

					"""simple docstring"""

					_a	:    Tuple         =		Heap()

					_a	:    Any         =		[0] * len(__a	)
					_a	:    str         =		[-1] * len(__a	)  # Neighboring Tree Vertex of selected vertex
					# Minimum Distance of explored vertex with neighboring vertex of partial tree
					# formed in graph
					_a	:    str         =		[]  # Heap of Distance of vertices from their neighboring vertex
					_a	:    Union[str, Any]         =		[]

					for vertex in range(len(__a	)	):
										distance_tv.append(sys.maxsize	)
										positions.append(__a	)
										heap.node_position.append(__a	)

					_a	:    str         =		[]
					_a	:    Optional[int]         =		1
					_a	:    Optional[int]         =		sys.maxsize
					for neighbor, distance in adjacency_list[0]:
										_a	:    List[str]         =		0
										_a	:    Optional[int]         =		distance
					heap.heapify(__a		,__a	)

					for _ in range(1		,len(__a	)	):
										_a	:    List[str]         =		heap.delete_minimum(__a		,__a	)
										if visited[vertex] == 0:
															tree_edges.append((nbr_tv[vertex], vertex)	)
															_a	:    Optional[int]         =		1
															for neighbor, distance in adjacency_list[vertex]:
																				if (
																				    visited[neighbor] == 0
																				    and distance < distance_tv[heap.get_position(__a	)]
																				):
																									_a	:    str         =		distance
																									heap.bottom_to_top(
																									    __a		,heap.get_position(__a	)		,__a		,__a	)
																									_a	:    str         =		vertex
					return tree_edges


if __name__ == "__main__":  # pragma: no cover
			# < --------- Prims Algorithm --------- >
			a__				=		int(input('''Enter number of edges: ''').strip())
			a__				=		defaultdict(list)
			for _ in range(edges_number):
						a__				=		[int(x) for x in input().strip().split()]
						adjacency_list[edge[0]].append([edge[1], edge[2]])
						adjacency_list[edge[1]].append([edge[0], edge[2]])
			print(prisms_algorithm(adjacency_list))






import warnings

from ...processing_utils import ProcessorMixin
from ...tokenization_utils_base import BatchEncoding

class 				UpperCAmelCase_		(			__lowercase   ):
							"""simple docstring"""







							UpperCAmelCase__       :						Union[str, Any]	    =    ["image_processor", "tokenizer"]
							UpperCAmelCase__       :						Dict	    =    "ChineseCLIPImageProcessor"
							UpperCAmelCase__       :						List[str]	    =    ("BertTokenizer", "BertTokenizerFast")


							def __init__(			self       ,							_a=None       ,							_a=None       ,							**_a       )    ->    Any:
												_a	:    Optional[Any]         =		None
												if "feature_extractor" in kwargs:
																	warnings.warn(
																	    '''The `feature_extractor` argument is deprecated and will be removed in v5, use `image_processor`'''
																	    ''' instead.'''       ,							_a       ,							)
																	_a	:    Tuple         =		kwargs.pop('''feature_extractor'''       )

												_a	:    Tuple         =		image_processor if image_processor is not None else feature_extractor
												if image_processor is None:
																	raise ValueError('''You need to specify an `image_processor`.'''       )
												if tokenizer is None:
																	raise ValueError('''You need to specify a `tokenizer`.'''       )

												super().__init__(_a       ,							_a       )
												_a	:    List[str]         =		self.image_processor


							def __call__(			self       ,							_a=None       ,							_a=None       ,							_a=None       ,							**_a       )    ->    int:

												if text is None and images is None:
																	raise ValueError('''You have to specify either text or images. Both cannot be none.'''       )

												if text is not None:
																	_a	:    List[str]         =		self.tokenizer(_a       ,							return_tensors=_a       ,							**_a       )

												if images is not None:
																	_a	:    Optional[Any]         =		self.image_processor(_a       ,							return_tensors=_a       ,							**_a       )

												if text is not None and images is not None:
																	_a	:    Union[str, Any]         =		image_features.pixel_values
																	return encoding
												elif text is not None:
																	return encoding
												else:
																	return BatchEncoding(data=dict(**_a       )       ,							tensor_type=_a       )


							def 				__lowercase				(			self       ,							*_a       ,							**_a       )    ->    Union[str, Any]:
												return self.tokenizer.batch_decode(*_a       ,							**_a       )


							def 				__lowercase				(			self       ,							*_a       ,							**_a       )    ->    Any:
												return self.tokenizer.decode(*_a       ,							**_a       )


							@property
							def 				__lowercase				(			self       )    ->    Optional[Any]:
												_a	:    Any         =		self.tokenizer.model_input_names
												_a	:    Dict         =		self.image_processor.model_input_names
												return list(dict.fromkeys(tokenizer_input_names + image_processor_input_names       )       )




							@property
							def 				__lowercase				(			self       )    ->    Dict:
												warnings.warn(
												    '''`feature_extractor_class` is deprecated and will be removed in v5. Use `image_processor_class` instead.'''       ,							_a       ,							)
												return self.image_processor_class



