#include <algorithm>
#include <bitset>
#include <climits>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <deque>
#include <functional>
#include <iomanip>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>
using namespace std;
int M, N;
string s;
#define FOR(i, N) for(int i = 0; i < N; i++)
#define FOR1e(i, N) for(int i = 1; i <= N; i++)
#define REP(i, M, N) for(int i = M; i < N; i++)
#define REPe(i, M, N) for(int i = M; i <= N; i++)
#define sc(N) scanf("%d", &N)
#define scsc(M, N) scanf("%d %d", &M, &N)
#define gt(s) getline(cin, s)
#define all(s) s.begin(), s.end()
#define ll long long
#define ull unsigned ll
#define vi vector <int>
#define pii pair <int, int>
#define SS stringstream
#define pq priority_queue
#define mp make_pair
#define pb push_back
#define PI 3.14159265
#define EPS 1e-7
const int MAX = 105;
const int MOD = 1000000007;
struct edge{
int from, to, w;
bool station;
edge(int from, int to, int w, bool station): from(from), to(to), w(w), station(station) {}
edge() {}
bool operator <(const edge &e) const{
return w > e.w;
}
};
vector < vector <edge> > v;
bool vis[510];
int dijkstra(int src){
vi dist(505, 1e9); dist[src] = 0;
pq <edge> q; q.push(edge(-1, src, 0, 0));
while(q.size()){
edge e = q.top(); q.pop();
if(vis[e.to])
return dist[e.to];
if(e.w > dist[e.to])
continue;
FOR(i, v[e.to].size()){
edge ne = v[e.to][i];
if(dist[ne.to] > ne.w+dist[ne.from]){
dist[ne.to] = ne.w+dist[ne.from];
q.push(ne);
}
}
}
return -1;
}
int main(){
// freopen("in.txt", "r", stdin);
int t; sc(t);
string line; cin.ignore(); gt(line);
while(t--){
int n, m; scsc(n, m);
v = vector < vector <edge> >(510);
memset(vis, 0, sizeof vis);
FOR(i, n){
int x; sc(x);
vis[x] = 1;
}
cin.ignore();
while(gt(line) && line.size()){
SS ss(line);
int a, b, w;
bool f = 0;
ss >> a >> b >> w;
if(vis[a])
f = 1;
v[a].push_back(edge(a, b, w, f));
if(!vis[b])
v[b].push_back(edge(b, a, w, 0));
else
v[b].push_back(edge(b, a, w, 1));
}
int mn = 1e9, idx = 1;
FOR1e(i, m)
if(!vis[i]){
vis[i] = 1;
int mx = 0;
FOR1e(j, m)
if(j != i)
mx = max(mx, dijkstra(j));
if(mx < mn){
mn = mx;
idx = i;
}
vis[i] = 0;
}
printf("%d\n", idx);
if(t)
puts("");
}
return 0;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGJpdHNldD4KI2luY2x1ZGUgPGNsaW1pdHM+CiNpbmNsdWRlIDxjbWF0aD4KI2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxkZXF1ZT4KI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxpb21hbmlwPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxtYXA+CiNpbmNsdWRlIDxxdWV1ZT4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDxzdGFjaz4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPHZlY3Rvcj4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgTSwgTjsKc3RyaW5nIHM7CgojZGVmaW5lIEZPUihpLCBOKSBmb3IoaW50IGkgPSAwOyBpIDwgTjsgaSsrKQojZGVmaW5lIEZPUjFlKGksIE4pIGZvcihpbnQgaSA9IDE7IGkgPD0gTjsgaSsrKQojZGVmaW5lIFJFUChpLCBNLCBOKSBmb3IoaW50IGkgPSBNOyBpIDwgTjsgaSsrKQojZGVmaW5lIFJFUGUoaSwgTSwgTikgZm9yKGludCBpID0gTTsgaSA8PSBOOyBpKyspCiNkZWZpbmUgc2MoTikgc2NhbmYoIiVkIiwgJk4pCiNkZWZpbmUgc2NzYyhNLCBOKSBzY2FuZigiJWQgJWQiLCAmTSwgJk4pCiNkZWZpbmUgZ3QocykgZ2V0bGluZShjaW4sIHMpCiNkZWZpbmUgYWxsKHMpIHMuYmVnaW4oKSwgcy5lbmQoKQojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIHVsbCB1bnNpZ25lZCBsbAojZGVmaW5lIHZpIHZlY3RvciA8aW50PgojZGVmaW5lIHBpaSBwYWlyIDxpbnQsIGludD4KI2RlZmluZSBTUyBzdHJpbmdzdHJlYW0KI2RlZmluZSBwcSBwcmlvcml0eV9xdWV1ZQojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIFBJIDMuMTQxNTkyNjUKI2RlZmluZSBFUFMgMWUtNwoKY29uc3QgaW50IE1BWCA9IDEwNTsKY29uc3QgaW50IE1PRCA9IDEwMDAwMDAwMDc7CgpzdHJ1Y3QgZWRnZXsKCWludCBmcm9tLCB0bywgdzsKCWJvb2wgc3RhdGlvbjsKCWVkZ2UoaW50IGZyb20sIGludCB0bywgaW50IHcsIGJvb2wgc3RhdGlvbik6IGZyb20oZnJvbSksIHRvKHRvKSwgdyh3KSwgc3RhdGlvbihzdGF0aW9uKSB7fQoJZWRnZSgpIHt9Cglib29sIG9wZXJhdG9yIDwoY29uc3QgZWRnZSAmZSkgY29uc3R7CgkJcmV0dXJuIHcgPiBlLnc7Cgl9Cn07Cgp2ZWN0b3IgPCB2ZWN0b3IgPGVkZ2U+ID4gdjsKYm9vbCB2aXNbNTEwXTsKCmludCBkaWprc3RyYShpbnQgc3JjKXsKCXZpIGRpc3QoNTA1LCAxZTkpOyBkaXN0W3NyY10gPSAwOwoJcHEgPGVkZ2U+IHE7IHEucHVzaChlZGdlKC0xLCBzcmMsIDAsIDApKTsKCXdoaWxlKHEuc2l6ZSgpKXsKCQllZGdlIGUgPSBxLnRvcCgpOyBxLnBvcCgpOwoJCWlmKHZpc1tlLnRvXSkKCQkJcmV0dXJuIGRpc3RbZS50b107CgkJaWYoZS53ID4gZGlzdFtlLnRvXSkKCQkJY29udGludWU7CgkJRk9SKGksIHZbZS50b10uc2l6ZSgpKXsKCQkJZWRnZSBuZSA9IHZbZS50b11baV07CgkJCWlmKGRpc3RbbmUudG9dID4gbmUudytkaXN0W25lLmZyb21dKXsKCQkJCWRpc3RbbmUudG9dID0gbmUudytkaXN0W25lLmZyb21dOwoJCQkJcS5wdXNoKG5lKTsKCQkJfQoJCX0KCX0KCXJldHVybiAtMTsKfQoKaW50IG1haW4oKXsKLy8JZnJlb3BlbigiaW4udHh0IiwgInIiLCBzdGRpbik7CglpbnQgdDsgc2ModCk7CglzdHJpbmcgbGluZTsgY2luLmlnbm9yZSgpOyBndChsaW5lKTsKCXdoaWxlKHQtLSl7CgkJaW50IG4sIG07IHNjc2MobiwgbSk7CgkJdiA9IHZlY3RvciA8IHZlY3RvciA8ZWRnZT4gPig1MTApOwoJCW1lbXNldCh2aXMsIDAsIHNpemVvZiB2aXMpOwoJCUZPUihpLCBuKXsKCQkJaW50IHg7IHNjKHgpOwoJCQl2aXNbeF0gPSAxOwoJCX0KCQljaW4uaWdub3JlKCk7CgkJd2hpbGUoZ3QobGluZSkgJiYgbGluZS5zaXplKCkpewoJCQlTUyBzcyhsaW5lKTsKCQkJaW50IGEsIGIsIHc7CgkJCWJvb2wgZiA9IDA7CgkJCXNzID4+IGEgPj4gYiA+PiB3OwoJCQlpZih2aXNbYV0pCgkJCQlmID0gMTsKCQkJdlthXS5wdXNoX2JhY2soZWRnZShhLCBiLCB3LCBmKSk7CgkJCWlmKCF2aXNbYl0pCgkJCQl2W2JdLnB1c2hfYmFjayhlZGdlKGIsIGEsIHcsIDApKTsKCQkJZWxzZQoJCQkJdltiXS5wdXNoX2JhY2soZWRnZShiLCBhLCB3LCAxKSk7CgkJfQoJCWludCBtbiA9IDFlOSwgaWR4ID0gMTsKCQlGT1IxZShpLCBtKQoJCQlpZighdmlzW2ldKXsKCQkJCXZpc1tpXSA9IDE7CgkJCQlpbnQgbXggPSAwOwoJCQkJRk9SMWUoaiwgbSkKCQkJCQlpZihqICE9IGkpCgkJCQkJCW14ID0gbWF4KG14LCBkaWprc3RyYShqKSk7CgkJCQlpZihteCA8IG1uKXsKCQkJCQltbiA9IG14OwoJCQkJCWlkeCA9IGk7CgkJCQl9CgkJCQl2aXNbaV0gPSAwOwoJCQl9CgkJcHJpbnRmKCIlZFxuIiwgaWR4KTsKCQlpZih0KQoJCQlwdXRzKCIiKTsKCX0KCXJldHVybiAwOwp9