#include #include #include #include #include #include #include #include #include #include using namespace std; #define MOD 1000000007 #define f(i,n) for(int i=0;i > >pe; ans = 0; init(); scanf("%d %d %d", &n, &m, &k); f(i, m){ scanf("%d %d %lld", &a[i], &b[i], &c[i]); a[i]--; b[i]--; used[i] = false; } f(i, k){ scanf("%d", &x); x--; used[x] = true; uni(a[x], b[x]); } f(i, m){ if (!used[i]){ pe.push_back(make_pair(c[i], make_pair(a[i], b[i]))); } } sort(pe.begin(), pe.end()); f(i, pe.size()){ if (jud(pe[i].second.first, pe[i].second.second)){ ans += pe[i].first; } else{ uni(pe[i].second.first, pe[i].second.second); } } printf("%lld\n", ans); return 0; }