from typing import Tuple, Optional, Union

Item = int

class PriorityQueue:
    def push(self, score: int, item: Item) -> None: ...
    def pop(self) -> Tuple[int, Item]: ...
    def change_score(self, item: Item, new_score: int) -> None: ...
    def get_score_by_item(self, item: Item) -> Optional[Union[Tuple, int]]: ...
    def __len__(self) -> int: ...
    def is_empty(self) -> bool: ...
