import sequtils, strutils proc fill(g: seq[seq[int]], i, p, r: int, root, dep: var seq[int]) = root[i] = r for j in g[i]: if j != p: dep[j] = dep[i] + 1 fill(g, j, i, r, root, dep) proc calc(g: seq[seq[int]], i, p: int, freq: seq[int64], cnt: var seq[int64]) = cnt[i] += freq[i] for j in g[i]: if j != p: calc(g, j, i, freq, cnt) cnt[i] += cnt[j] proc solve(g: seq[seq[int]], i, p, r: int, d: int64, cnt: seq[int64], mn: var int64) = mn = min(mn, d) for j in g[i]: if j != p: solve(g, j, i, r, d - cnt[j] + (cnt[r] - cnt[j]), cnt, mn) proc main() = var n, m, q: int (n, m, q) = stdin.readLine.split.map(parseInt) var g = newSeqWith(n, newSeq[int]()) for i in 0..