P0608

[POI2008]BLO

[POI2008]BLO

Byteotia 城市有 nn 个城镇(town)和 mm 条双向道路(road)。每条道路连接两个不同的城镇,且没有重复的道路。所有城镇之间都是连通的。

对于每个城镇 ii,如果把它从图中去掉(与它相连的道路也一并去掉),请求出有多少对点不能互通。

输入格式

第一行包含两个整数 n,mn, m,分别表示城镇数与道路数。

接下来 mm 行,每行两个整数,表示一条双向道路所连接的两个城镇。

输出格式

输出 nn 行,第 ii 行一个整数,表示把第 ii 个点去掉后有多少对点不能互通。

样例输入

5 5
1 2
2 3
1 3
3 4
4 5

样例输出

8
8
16
14
8

样例解释

以去掉 33 号点为例:剩下的点被分成 {1,2}\{1, 2\} 与 {4,5}\{4, 5\} 两个连通块,跨块的点对有 2×2×2=82\times 2\times 2 = 8 个(点对是有序的);此外被去掉的 33 号点与其余 44 个点也互不相通,贡献 4×2=84\times 2 = 8 个,合计 1616。

数据范围

  • 1≤n≤1051\le n\le 10^5;
  • 1≤m≤5×1051\le m\le 5\times 10^5。

来源与许可

本题为 POI 2008 试题「BLO」,题面与测试数据整理自 BZOJ 1123。

样例 1

输入

5 5
1 2
2 3
1 3
3 4
4 5

输出

8
8
16
14
8