[DTCPC 2024] 平方树

题目描述

给你一个森林,每条边有一个方向。 你可以进行两种操作: - 新增一个点。 - 将两个点之间连一条有向边。 你要使得最后将所有有向边看成无向边后,图形成一棵树,且每个点的出度都是平方数。 给出一种新增点数最少的方案。

输入输出格式

输入格式


第一行两个整数 $n,m$($1\le m \lt n \le 10^5$)表示这个森林的点数和边数。 接下来 $m$ 行,每行两个数 $u,v$($1\le u,v\le n$)表示一条 $u$ 连向 $v$ 的有向边。 保证将每条边看作无向边后,这张图是森林。

输出格式


第一行两个整数 $x,y$ 表示你的新增点数和连边数。 接下来 $y$ 行,每行两个数 $u,v$ 表示新增一条 $u$ 连向 $v$ 的有向边,你要保证 $1\le u,v\le n+x$。

输入输出样例

输入样例 #1

3 2
1 2
1 3

输出样例 #1

2 2
1 4
1 5