


import sys
from collections import defaultdict




class       lowercase_					:





				def __init__(				self)  -> List[Any]:
											a__      =[]





				def 						__UpperCamelCase    (				self       ,  lowercase_)  -> List[str]:
											return self.node_position[vertex]





				def 						__UpperCamelCase    (				self       ,  lowercase_       ,  lowercase_)  -> Any:
											a__      =pos





				def 						__UpperCamelCase    (				self       ,  lowercase_       ,  lowercase_       ,  lowercase_       ,  lowercase_)  -> List[Any]:
											if start > size // 2 - 1:
																		return
											else:
																		if 2 * start + 2 >= size:
																									a__      =2 * start + 1
																		else:
																									if heap[2 * start + 1] < heap[2 * start + 2]:
																																a__      =2 * start + 1
																									else:
																																a__      =2 * start + 2
																		if heap[smallest_child] < heap[start]:
																									a__    ,     a__      =heap[smallest_child], positions[smallest_child]
																									a__    ,     a__      =(
																									    heap[start],
																									    positions[start],
																									)
																									a__    ,     a__      =temp, tempa

																									a__      =self.get_position(positions[smallest_child])
																									self.set_position(
																									    positions[smallest_child]       ,  self.get_position(positions[start]))
																									self.set_position(positions[start]       ,  lowercase_)

																									self.top_to_bottom(lowercase_       ,  lowercase_       ,  lowercase_       ,  lowercase_)





				def 						__UpperCamelCase    (				self       ,  lowercase_       ,  lowercase_       ,  lowercase_       ,  lowercase_)  -> str:
											a__      =position[index]

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

																		if val < heap[parent]:
																									a__      =heap[parent]
																									a__      =position[parent]
																									self.set_position(position[parent]       ,  lowercase_)
																		else:
																									a__      =val
																									a__      =temp
																									self.set_position(lowercase_       ,  lowercase_)
																									break
																		a__      =parent
											else:
																		a__      =val
																		a__      =temp
																		self.set_position(lowercase_       ,  0)





				def 						__UpperCamelCase    (				self       ,  lowercase_       ,  lowercase_)  -> str:
											a__      =len(lowercase_) // 2 - 1
											for i in range(lowercase_       ,  -1       ,  -1):
																		self.top_to_bottom(lowercase_       ,  lowercase_       ,  len(lowercase_)       ,  lowercase_)





				def 						__UpperCamelCase    (				self       ,  lowercase_       ,  lowercase_)  -> Optional[Any]:
											a__      =positions[0]
											a__      =sys.maxsize
											self.top_to_bottom(lowercase_       ,  0       ,  len(lowercase_)       ,  lowercase_)
											return temp







def   _lowercase(					__a				:						Any     ):
							a__      =Heap()

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

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

							a__      =[]
							a__      =1
							a__      =sys.maxsize
							for neighbor, distance in adjacency_list[0]:
														a__      =0
														a__      =distance
							heap.heapify(__a    ,     __a     )

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


if __name__ == "__main__":  # pragma: no cover
	# < --------- Prims Algorithm --------- >
	_lowerCAmelCase:						str   				=       int(input('Enter number of edges: ').strip())
	_lowerCAmelCase:						Optional[int]   				=       defaultdict(list)
	for _ in range(edges_number):
		_lowerCAmelCase:						str   				=       [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 unittest

import numpy as np
import requests

from transformers.testing_utils import require_torch, require_vision
from transformers.utils import is_torch_available, is_vision_available

from ...test_image_processing_common import ImageProcessingSavingTestMixin, prepare_image_inputs


if is_torch_available():
       import torch

       from transformers.pytorch_utils import is_torch_greater_or_equal_than_1_11
else:
       _lowerCamelCase      							=   False

if is_vision_available():
       from PIL import Image

       from transformers import PixaStructImageProcessor







class       __A							(   unittest.TestCase	):




      """simple docstring"""







      def __init__(		self   ,				a__   ,				a__=7   ,				a__=3   ,				a__=18   ,				a__=30   ,				a__=400   ,				a__=None   ,				a__=True   ,				a__=True   ,				a__=None   ,				):



             """simple docstring"""





             _lowerCamelCase				:  str						=		size if size is not None else {'''height''': 20, '''width''': 20}
             _lowerCamelCase				:  int						=		parent
             _lowerCamelCase				:  Tuple						=		batch_size
             _lowerCamelCase				:  Union[str, Any]						=		num_channels
             _lowerCamelCase				:  Tuple						=		image_size
             _lowerCamelCase				:  Dict						=		min_resolution
             _lowerCamelCase				:  int						=		max_resolution
             _lowerCamelCase				:  Dict						=		size
             _lowerCamelCase				:  Dict						=		do_normalize
             _lowerCamelCase				:  List[Any]						=		do_convert_rgb
             _lowerCamelCase				:  Optional[int]						=		[512, 1024, 2048, 4096]
             _lowerCamelCase				:  Optional[int]						=		patch_size if patch_size is not None else {'''height''': 16, '''width''': 16}


      def 					__snake_case      (		self):



             """simple docstring"""





             return {"do_normalize": self.do_normalize, "do_convert_rgb": self.do_convert_rgb}



      def 					__snake_case      (		self):



             """simple docstring"""





             _lowerCamelCase				:  Dict						=		'''https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/tasks/australia.jpg'''
             _lowerCamelCase				:  Union[str, Any]						=		Image.open(requests.get(a__   ,				stream=a__).raw).convert('''RGB''')
             return raw_image







@unittest.skipIf(
    not is_torch_greater_or_equal_than_1_11			,reason="""`Pix2StructImageProcessor` requires `torch>=1.11.0`."""			,)
@require_torch
@require_vision
class       __A							(   lowerCamelCase__			,unittest.TestCase	):




      """simple docstring"""







      UpperCAmelCase__							=   PixaStructImageProcessor if is_vision_available() else None


      def 					__snake_case      (		self):



             """simple docstring"""





             _lowerCamelCase				:  int						=		PixaStructImageProcessingTester(self)


      @property
      def 					__snake_case      (		self):



             """simple docstring"""





             return self.image_processor_tester.prepare_image_processor_dict()


      def 					__snake_case      (		self):



             """simple docstring"""





             _lowerCamelCase				:  int						=		self.image_processing_class(**self.image_processor_dict)
             self.assertTrue(hasattr(a__   ,				'''do_normalize'''))
             self.assertTrue(hasattr(a__   ,				'''do_convert_rgb'''))


      def 					__snake_case      (		self):



             """simple docstring"""





             _lowerCamelCase				:  Any						=		self.image_processor_tester.prepare_dummy_image()

             _lowerCamelCase				:  List[Any]						=		self.image_processing_class(**self.image_processor_dict)
             _lowerCamelCase				:  Optional[int]						=		2048

             _lowerCamelCase				:  Any						=		image_processor(a__   ,				return_tensors='''pt'''   ,				max_patches=a__)
             self.assertTrue(torch.allclose(inputs.flattened_patches.mean()   ,				torch.tensor(0.0606)   ,				atol=1e-3   ,				rtol=1e-3))


      def 					__snake_case      (		self):



             """simple docstring"""





             _lowerCamelCase				:  Dict						=		self.image_processing_class(**self.image_processor_dict)
             # create random PIL images
             _lowerCamelCase				:  Any						=		prepare_image_inputs(self.image_processor_tester   ,				equal_resolution=a__)
             for image in image_inputs:
                    self.assertIsInstance(a__   ,				Image.Image)

             # Test not batched input
             _lowerCamelCase				:  Optional[Any]						=		(
                 (self.image_processor_tester.patch_size['''height'''] * self.image_processor_tester.patch_size['''width'''])
                 * self.image_processor_tester.num_channels
             ) + 2

             for max_patch in self.image_processor_tester.max_patches:
                    # Test not batched input
                    _lowerCamelCase				:  Optional[int]						=		image_processor(
                        image_inputs[0]   ,				return_tensors='''pt'''   ,				max_patches=a__).flattened_patches
                    self.assertEqual(
                        encoded_images.shape   ,				(1, max_patch, expected_hidden_dim)   ,				)

                    # Test batched
                    _lowerCamelCase				:  Dict						=		image_processor(
                        a__   ,				return_tensors='''pt'''   ,				max_patches=a__).flattened_patches
                    self.assertEqual(
                        encoded_images.shape   ,				(self.image_processor_tester.batch_size, max_patch, expected_hidden_dim)   ,				)


      def 					__snake_case      (		self):



             """simple docstring"""





             _lowerCamelCase				:  Dict						=		self.image_processing_class(**self.image_processor_dict)
             # create random PIL images
             _lowerCamelCase				:  Optional[int]						=		prepare_image_inputs(self.image_processor_tester   ,				equal_resolution=a__)
             for image in image_inputs:
                    self.assertIsInstance(a__   ,				Image.Image)

             # Test not batched input
             _lowerCamelCase				:  List[str]						=		(
                 (self.image_processor_tester.patch_size['''height'''] * self.image_processor_tester.patch_size['''width'''])
                 * self.image_processor_tester.num_channels
             ) + 2

             _lowerCamelCase				:  Dict						=		True

             for max_patch in self.image_processor_tester.max_patches:
                    # Test not batched input
                    with self.assertRaises(a__):
                           _lowerCamelCase				:  List[Any]						=		image_processor(
                               image_inputs[0]   ,				return_tensors='''pt'''   ,				max_patches=a__).flattened_patches

                    _lowerCamelCase				:  List[Any]						=		'''Hello'''

                    _lowerCamelCase				:  int						=		image_processor(
                        image_inputs[0]   ,				return_tensors='''pt'''   ,				max_patches=a__   ,				header_text=a__).flattened_patches
                    self.assertEqual(
                        encoded_images.shape   ,				(1, max_patch, expected_hidden_dim)   ,				)

                    # Test batched
                    _lowerCamelCase				:  Dict						=		image_processor(
                        a__   ,				return_tensors='''pt'''   ,				max_patches=a__   ,				header_text=a__).flattened_patches
                    self.assertEqual(
                        encoded_images.shape   ,				(self.image_processor_tester.batch_size, max_patch, expected_hidden_dim)   ,				)


      def 					__snake_case      (		self):



             """simple docstring"""





             _lowerCamelCase				:  List[Any]						=		self.image_processing_class(**self.image_processor_dict)
             # create random numpy tensors
             _lowerCamelCase				:  Tuple						=		prepare_image_inputs(self.image_processor_tester   ,				equal_resolution=a__   ,				numpify=a__)
             for image in image_inputs:
                    self.assertIsInstance(a__   ,				np.ndarray)

             _lowerCamelCase				:  Any						=		(
                 (self.image_processor_tester.patch_size['''height'''] * self.image_processor_tester.patch_size['''width'''])
                 * self.image_processor_tester.num_channels
             ) + 2

             for max_patch in self.image_processor_tester.max_patches:
                    # Test not batched input
                    _lowerCamelCase				:  List[str]						=		image_processor(
                        image_inputs[0]   ,				return_tensors='''pt'''   ,				max_patches=a__).flattened_patches
                    self.assertEqual(
                        encoded_images.shape   ,				(1, max_patch, expected_hidden_dim)   ,				)

                    # Test batched
                    _lowerCamelCase				:  Tuple						=		image_processor(
                        a__   ,				return_tensors='''pt'''   ,				max_patches=a__).flattened_patches
                    self.assertEqual(
                        encoded_images.shape   ,				(self.image_processor_tester.batch_size, max_patch, expected_hidden_dim)   ,				)



      def 					__snake_case      (		self):



             """simple docstring"""





             _lowerCamelCase				:  Optional[int]						=		self.image_processing_class(**self.image_processor_dict)
             # create random PyTorch tensors
             _lowerCamelCase				:  str						=		prepare_image_inputs(self.image_processor_tester   ,				equal_resolution=a__   ,				torchify=a__)
             for image in image_inputs:
                    self.assertIsInstance(a__   ,				torch.Tensor)

             # Test not batched input
             _lowerCamelCase				:  Tuple						=		(
                 (self.image_processor_tester.patch_size['''height'''] * self.image_processor_tester.patch_size['''width'''])
                 * self.image_processor_tester.num_channels
             ) + 2

             for max_patch in self.image_processor_tester.max_patches:
                    # Test not batched input
                    _lowerCamelCase				:  Optional[int]						=		image_processor(
                        image_inputs[0]   ,				return_tensors='''pt'''   ,				max_patches=a__).flattened_patches
                    self.assertEqual(
                        encoded_images.shape   ,				(1, max_patch, expected_hidden_dim)   ,				)

                    # Test batched
                    _lowerCamelCase				:  List[str]						=		image_processor(
                        a__   ,				return_tensors='''pt'''   ,				max_patches=a__).flattened_patches
                    self.assertEqual(
                        encoded_images.shape   ,				(self.image_processor_tester.batch_size, max_patch, expected_hidden_dim)   ,				)







@unittest.skipIf(
    not is_torch_greater_or_equal_than_1_11			,reason="""`Pix2StructImageProcessor` requires `torch>=1.11.0`."""			,)
@require_torch
@require_vision
class       __A							(   lowerCamelCase__			,unittest.TestCase	):




      """simple docstring"""







      UpperCAmelCase__							=   PixaStructImageProcessor if is_vision_available() else None


      def 					__snake_case      (		self):



             """simple docstring"""





             _lowerCamelCase				:  Optional[Any]						=		PixaStructImageProcessingTester(self   ,				num_channels=4)
             _lowerCamelCase				:  Union[str, Any]						=		3


      @property
      def 					__snake_case      (		self):



             """simple docstring"""





             return self.image_processor_tester.prepare_image_processor_dict()


      def 					__snake_case      (		self):



             """simple docstring"""





             _lowerCamelCase				:  str						=		self.image_processing_class(**self.image_processor_dict)
             self.assertTrue(hasattr(a__   ,				'''do_normalize'''))
             self.assertTrue(hasattr(a__   ,				'''do_convert_rgb'''))



      def 					__snake_case      (		self):



             """simple docstring"""





             _lowerCamelCase				:  List[str]						=		self.image_processing_class(**self.image_processor_dict)
             # create random PIL images
             _lowerCamelCase				:  Any						=		prepare_image_inputs(self.image_processor_tester   ,				equal_resolution=a__)
             for image in image_inputs:
                    self.assertIsInstance(a__   ,				Image.Image)

             # Test not batched input
             _lowerCamelCase				:  List[Any]						=		(
                 (self.image_processor_tester.patch_size['''height'''] * self.image_processor_tester.patch_size['''width'''])
                 * (self.image_processor_tester.num_channels - 1)
             ) + 2

             for max_patch in self.image_processor_tester.max_patches:
                    # Test not batched input
                    _lowerCamelCase				:  Union[str, Any]						=		image_processor(
                        image_inputs[0]   ,				return_tensors='''pt'''   ,				max_patches=a__).flattened_patches
                    self.assertEqual(
                        encoded_images.shape   ,				(1, max_patch, expected_hidden_dim)   ,				)

                    # Test batched
                    _lowerCamelCase				:  Union[str, Any]						=		image_processor(
                        a__   ,				return_tensors='''pt'''   ,				max_patches=a__).flattened_patches
                    self.assertEqual(
                        encoded_images.shape   ,				(self.image_processor_tester.batch_size, max_patch, expected_hidden_dim)   ,				)

