deffind(x) -> int: if fa[x] == x: return x fa[x] = find(fa[x]) return fa[x]
defunion(x, y): fa[find(x)] = find(y)
for _ inrange(m): a, b = map(int, input().split()) union(a, b) for _ inrange(p): a, b = map(int, input().split()) if find(a) == find(b): print("Yes") else: print("No")
classnode: def__init__(self, fo,to,w): self.fo = fo self.to = to self.w = w
deffind(k): if fa[k] == k: return k fa[k] = find(fa[k]) return fa[k]
defunion(x, y): fa[find(x)] = find(y)
n, m = map(int, input().split()) fa = [i for i inrange(n + 1)] Enemy = [0] * 100010 p = [node(0,0,0) for _ inrange(100010)] for i inrange(1,m + 1): u, v, w = map(int, input().split()) p[i].fo = u p[i].to = v p[i].w = w
p.sort(key=lambda x: -x.w)
for i inrange(m): # 如果已经在同一监狱 t1, t2 = find(p[i].fo), find(p[i].to) if t1 == t2: print(p[i].w) sys.exit()
if Enemy[p[i].fo] == 0: Enemy[p[i].fo] = p[i].to else: union(Enemy[p[i].fo], p[i].to)
if Enemy[p[i].to] == 0: Enemy[p[i].to] = p[i].fo else: union(Enemy[p[i].to], p[i].fo)
deffind(x): if x == fa[x]: return x fa[x] = find(fa[x]) return fa[x]
defunion(x, y): fa[find(x)] = find(y)
a, b, p = map(int, input().split()) ans = b - a + 1 fa = [i for i inrange(100010)] prime = [0] * (b + 1) prime[1] = 1 for i inrange(2, b + 1): if prime[i] == 0: if i >= p: for j inrange(i * 2, b + 1, i): prime[j] = True if j - i >= a and find(j) != find(j - i): union(j, j - i) ans -= 1 else: for j inrange(i * 2, b + 1, i): prime[j] = True
deffind(x): if x == fa[x]: return x fa[x] = find(fa[x]) return fa[x]
defunion(x, y): fa[find(x)] = find(y)
n = int(input()) m = int(input()) fa = [i for i inrange(100010)] Enemy = [0] * 100010 for _ inrange(m): op, a, b = input().split() a = int(a) b = int(b)
if op == 'E': if Enemy[a] == 0: Enemy[a] = find(b) else: union(Enemy[a], b) if Enemy[b] == 0: Enemy[b] = find(a) else: union(a, Enemy[b]) if op == 'F': union(a,b)
count = [0] * 1001 for i inrange(1, n + 1): count[find(i)] = 1