getAdjList = (edges) => {
    let adj = new Map();

    for (e of edges) {
        let [a, b] = [e[0], e[1]];

        let [adjA, adjB] = [adj.get(a) || [], adj.get(b) || []];

        adjA.push(b);
        adjB.push(a);

        adj.set(a, adjA);
        adj.set(b, adjB);
    }

    return adj;
}
@param {number[number[]]} edges
@returns {Map<number, number[]>}