CF1193A Amusement Park

题目描述

你被请来设计一个游乐场,它将会使用一种全新科技:可以将游客从一个游乐设施送到另一个游乐设施的滑梯。 现在每条滑梯都已经确定了方向。然而,你发现这个方案存在问题。方案中同时存在从鬼屋通往过山车的滑梯,从过山车通往跳楼机的滑梯,以及从跳楼机通往鬼屋的滑梯。这显然是无法实现的——滑梯必须从高处通向低处,不然会违背物理规律。所以你需要反转一些滑梯的方向,以满足需求。 原始的方案由 $n$ 个游乐设施和 $m$ 条滑梯组成,你可以修改这个方案。 一个修改后的方案必须可以由原始方案反转若干条滑梯的方向得到,并且需要保证存在为每个游乐设施选择高度的方案使得不存在从低处往高处走的滑梯。它的代价为反转的滑梯数量。 你需要统计所有可能的方案的代价之和,对 $998244353$ 取模。

输入格式

第一行两个正整数 $n,m$。 之后 $m$ 行,每行两个正整数 $a,b$,代表一条从 $a$ 通向 $b$ 的滑梯。

输出格式

一行一个正整数代表答案,对 $998244353$ 取模。

说明/提示

对于所有数据,$1\le n\le 18,0\le m\le \frac{n(n-1)}{2}$。不存在重边、自环。对于任意 $1\le u,v\le n$ 不同时存在边 $(u,v)$ 和 $(v,u)$。 子任务 $1$($7$ 分):$n\le 3$。 子任务 $2$($12$ 分):$n\le 6$。 子任务 $3$($23$ 分):$n\le 10$。 子任务 $4$($21$ 分):$n\le 15$。 子任务 $5$($37$ 分):无附加限制。