#P005894. 检验零件

检验零件

题目描述

工厂中有 NN 个工位,编号为 11NN。工位之间有 MM 条双向传送带,任意两个工位之间最多有一条传送带。

每个工位都会生产一个零件。一个零件从生产它的工位出发,沿传送带依次交给 33 名检验人员。三名检验人员必须互不相同,但零件的生产者可以作为第三名检验人员。

也就是说,一条检验路径依次经过 44 个工位 s,a,b,cs,a,b,c,需要满足:

  • ssaaaabbbbcc 之间均有传送带;
  • sas\ne asbs\ne b
  • a,b,ca,b,c 两两不同;
  • 允许 s=cs=c

起点、经过工位或顺序不同的路径均视为不同路径。请计算所有工位生产的零件一共能形成多少条合法检验路径。

输入格式

第一行包含两个整数 N,MN,M

接下来 MM 行,每行包含两个整数 Ui,ViU_i,V_i,表示工位 UiU_i 与工位 ViV_i 之间有一条双向传送带。

输出格式

输出一个整数,表示合法检验路径的总数。

样例

3 3
1 2
2 3
3 1
6
5 6
1 2
1 3
2 3
2 4
2 5
3 5
32
6 6
2 1
3 2
3 4
5 2
5 6
1 6
16

数据范围与提示

  • 对于 30%30\% 的数据,1N1001 \le N \le 1001M10001 \le M \le 1000
  • 对于 80%80\% 的数据,1N1001 \le N \le 1001M50001 \le M \le 5000
  • 对于 100%100\% 的数据,1N10001 \le N \le 10001M100001 \le M \le 10000
  • 1Ui,ViN1 \le U_i,V_i \le NUiViU_i\ne V_i
  • 测试数据保证答案不超过 3×1073\times10^7