各位观众,各位观众,您现在收看的是第 666 届跳蚤奥运会的比赛现场。在刚刚的五子棋比赛中,天才跳高小将“最强跳蚤”靠着“最强跳蚤跳跳跳”和经验丰富的伏特跳蚤国王大战了三天三夜,最后战成
首先我来介绍一下比赛场地,微分方城有
现在,最强跳蚤和跳蚤国王的马拉松需要绕微分方城一周,即从某个起始点出发经过若干道路,再回到起始点。并且组委会规定,每条道路必须经过恰好一次。
那么问题来了,请观众朋友们数一数,一共有多少种环城马拉松的路线?最早给出答案的观众可以获得大火车一列哦。
路线可以认为是一个从某个点出发,由经过的道路编号和方向组成的序列。两条路线被认为是相同的当且仅当两序列相同,或更换起始边后两序列相同。请求出本质不同的路线的条数。
输入格式
第一行两个正整数
接下来
输出格式
输出一行一个整数表示答案对
样例一
input
2 1 1 2 4
output
12
explanation
把
样例二
input
3 2 1 2 4 2 3 2
output
48
样例三
input
3 3 1 2 3 2 3 3 3 1 3
output
3168
样例四
input
6 6 1 2 4 2 3 4 3 1 4 1 4 2 2 5 2 3 6 2
output
474218496
样例五
见样例数据下载
限制与约定
测试点编号 | 限制 |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | 如果去掉重复道路,则道路的连接形成了一个环 |
7 | |
8 | 无 |
9 | |
10 |
在所有数据中,满足
时间限制:
空间限制: