SP8791 DYNALCA - Dynamic LCA

题目描述

有一个森林最初由 $n$ 个互不相连的点构成。 你需要处理以下操作: - **link A B**:添加从顶点 $A$ 到 $B$ 的边,使 $A$ 成为 $B$ 的子节点,$B$ 成为这棵树的根,其中保证 $A$ 是一棵树的根,$A$ 和 $B$ 在不同的树中。 - **cut A**:切断点 $A$ 到其父节点的边,保证 $A$ 是一个非根节点。 - **lca A B**:输出 $A$ 和 $B$ 的最近共同祖先,保证 $A$ 和 $B$ 在同一棵树中。

输入格式

第一行两个正整数 $n,m$。 接下来 $m$ 行每行一个操作。

输出格式

对每个 **lca** 操作输出一行一个整数表示答案。

说明/提示

$1\le n,m\le 10^5$。