WA for kingkon

this code works well for given test case but i get WA when i submit it, please help, heres my code

#include<bits/stdc++.h>
#define llu  long long unsigned
#define MAX 10000
#define pb push_back
#define w white
#define b black

using namespace::std;

typedef vector <int> vi;
typedef vector<vi> vvi;

enum colours {w, gray, b};
llu N, M, t = 0 ;
vector <int> par, low, disc, done, clr;

set <int> art_points;
//bool backEdge[MAX][MAX];

void Dfs(vvi &g, int i)
{
    t++;
    disc[i] = t ;
    low[i] = t;
    clr[i] = gray;
    for(auto it : g[i])
    {
        if(clr[it] == w)
        {
            par[it] = i;
            Dfs(g, it);
            if(disc[i] = 1)
            {
                if(g[i].size() >= 2 && low[it] > disc[i])
                    art_points.insert(i);
            }
                else if(low[it] > disc[i])
                    art_points.insert(i);
                low[i] = min(low[i], low[it]);
        }
        else if(par[i] != it)
            low[i] = min(low[i], low[it]);
    }
    clr[i] = b;
    done[i] = ++t;
}

int main()
{
    llu T, K, s, d;
    //cout<<"\nenter the test cases :\t";
    cin>>T;
    while(T--)
    {
        //cout<<"\nenter no. of cities, roads, and cost of shield :\n";
    cin>>N>>M>>K;

    vvi g(N);

par.clear(); low.clear(); done.clear(); disc.clear(); clr.clear();

par = vector<int> (N, -1);
disc = vector<int> (N, 0);
low = vector<int> (N, 0);
done = vector<int> (N, 0);
disc = vector<int> (N, 0);
clr = vector<int> (N, w);
g.clear();
    //cout<<"\nenter connected roads :\t";
    for(int i = 0 ; i < M ; ++i)
    {
        cin>>s>>d;
        g[s].pb(d);
        g[d].pb(s);
    }
    Dfs(g, 0);
   //cout<<"total cost required is :\t";
   cout<<art_points.size()*K;
   art_points.clear();
   cout<<"\n";
    }

//cout<<"\narticulation points are :\t";
//    for(auto it : art_points)
//        cout<<it<" ";
    return 0 ;
}