bool marked[N] {};

void dfs(unsigned v) {
	if (!marked[v]) {
		marked[v] = true;
		for (auto u : arrv[v]) {
			dfs(u);
		}
	}
}
