Code is giving segmentation fault

Code is giving segmentation fault, although it is running fine on the local system.

#include<bits/stdc++.h>
using namespace std;

class Graph{
    int vertices;
    vector<vector<int> > adjList;
    public:
    Graph(int vertices){
        this->vertices = vertices;
        adjList.resize(vertices+1);
    }

    void addEdge(int u, int v){
        adjList[u].push_back(v);
        adjList[v].push_back(u);
    }

    vector<int> getAllShortestDistance(int startNode){
        vector<int> distance(vertices+1, INT_MAX);
        distance[startNode] = 0;
        queue<int> q;
        q.push(startNode);
        while(!q.empty()){
            int frontNode = q.front(); q.pop();
            int frontDistance = distance[frontNode];
            for(int neigh :adjList[frontNode]){
                if(distance[neigh] > frontDistance + 1){
                    distance[neigh] = frontDistance + 1;
                    q.push(neigh);
                }
            }
        }
        for(int i = 0; i<=vertices; i++){
            if(distance[i] == INT_MAX){
                distance[i] = -1;
            }
            else{
                distance[i] *= 6;
            }
        }
        distance.erase(distance.begin()+startNode);
        distance.erase(distance.begin());
        return distance;
    }
};


int main(){
    //freopen("in.txt","r",stdin);
    int testCases;
    cin>>testCases;
    while(testCases--){
        int vertices, edges;
        cin>>vertices>> edges;
        Graph g(vertices);
        for(int i = 0; i<edges; i++){
            int u,v;
            cin>>u>>v;
            g.addEdge(u, v);
        }
        int node;
        cin>>node;
        vector<int> distance = g.getAllShortestDistance(node);
        for(int dist: distance){
            cout<<dist<<" ";
        }
        cout<<endl;
    }
    return 0;
}