#YBT9. 「一本通 3.6 练习 5」Blockade

「一本通 3.6 练习 5」Blockade

Byteotia城镇封锁问题

题目描述

本题原题来自 POI 2008 Stage 2

Byteotia 地区有 nn 个城镇,部分城镇间由双向道路连接。这些道路在城外无交叉,且任意两个城镇间最多只有一条道路相连。同时,通过直接或间接的路径,人们可以从任意一个城镇到达其他任意城镇。

由于每个城镇仅有一位居民,居民们十分渴望社交,每个居民都希望恰好拜访其他每一位居民一次(在对方所在城镇),所以理论上总共会有 n(n1)n\cdot (n - 1) 次拜访。然而,程序员们因要求立即为自己开发的程序获得报酬而罢工。作为抗议手段,他们计划封锁 Byteotia 的一个城镇,禁止任何人进入、离开或经过该城镇。目前,他们正在讨论选择封锁哪个城镇能造成最严重的影响。

你的任务是编写一个程序,从标准输入读取 Byteotia 的路网信息,并输出对于每个城镇,如果程序员封锁该城镇,将会有多少次拜访无法进行。

一句话题意

Byteotia 地区有 nn 个城镇和 mm 条双向道路,每条道路连接两个不同城镇且无重复道路,所有城镇相互连通。需输出 nn 个数值,分别表示若去掉与第 ii 个点相连的所有边,将会有多少对有序点对无法互通。

输入格式

输入包含 nnmm 以及 mm 条边的信息。

输出格式

输出 nn 个数值,代表若封锁第 ii 个点,将会导致多少对有序点不能互通。

样例

样例配图

输入

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

输出

8
8
16
14
8

数据范围与提示

n105n \leq 10^5m5×105m \leq 5\times 10^5