import copy import math import heapq import queue import random import functools import collections from typing import Optional, Tuple, List, Dict, DefaultDict, OrderedDict, Set, Deque from .linked_list import ListNode, list_to_linked_list, linked_list_to_list, get_list_node from .binary_tree import TreeNode, list_to_tree, tree_to_list, get_tree_node from .vertex import Vertex, vals_to_vets, vets_to_vals from .print_util import print_matrix, print_linked_list, print_tree, print_dict, print_heap