from typing import List


def read_tour(path: str) -> List[int]:
    """Reads a TSPLIB-formatted TSP tour file, and returns it in the form of an ordered list of point IDs. """
    tour = []
    with open(path, "r") as f:
        for line in f:
            if "TOUR_SECTION" in line:
                break
        for line in f:
            line = line.strip()
            if "-1" in line or "EOF" in line or not line:
                break
            fields = line.strip().split()
            point_id = int(fields[0])
            tour.append(point_id)
    return tour