测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A15149. Formalism for Formalism

编程题 普及/提高-

题目描述

Yura is a mathematician, and his cognition of the world is so absolute as if he have been solving formal problems a hundred of trillions of billions of years. This problem is just that!

Consider all non-negative integers from the interval $[0, 10^{n})$ . For convenience we complement all numbers with leading zeros in such way that each number from the given interval consists of exactly $n$ decimal digits.

You are given a set of pairs $(u_i, v_i)$ , where $u_i$ and $v_i$ are distinct decimal digits from $0$ to $9$ .

Consider a number $x$ consisting of $n$ digits. We will enumerate all digits from left to right and denote them as $d_1, d_2, \ldots, d_n$ . In one operation you can swap digits $d_i$ and $d_{i + 1}$ if and only if there is a pair $(u_j, v_j)$ in the set such that at least one of the following conditions is satisfied:

1. $d_i = u_j$ and $d_{i + 1} = v_j$ ,
2. $d_i = v_j$ and $d_{i + 1} = u_j$ .

We will call the numbers $x$ and $y$ , consisting of $n$ digits, equivalent if the number $x$ can be transformed into the number $y$ using some number of operations described above. In particular, every number is considered equivalent to itself.

You are given an integer $n$ and a set of $m$ pairs of digits $(u_i, v_i)$ . You have to find the maximum integer $k$ such that there exists a set of integers $x_1, x_2, \ldots, x_k$ ( $0 \le x_i < 10^{n}$ ) such that for each $1 \le i < j \le k$ the number $x_i$ is not equivalent to the number $x_j$ .

输入格式

The first line contains an integer $n$ ( $1 \le n \le 50\,000$ ) — the number of digits in considered numbers.

The second line contains an integer $m$ ( $0 \le m \le 45$ ) — the number of pairs of digits in the set.

Each of the following $m$ lines contains two digits $u_i$ and $v_i$ , separated with a space ( $0 \le u_i < v_i \le 9$ ).

It's guaranteed that all described pairs are pairwise distinct.

输出格式

Print one integer — the maximum value $k$ such that there exists a set of integers $x_1, x_2, \ldots, x_k$ ( $0 \le x_i < 10^{n}$ ) such that for each $1 \le i < j \le k$ the number $x_i$ is not equivalent to the number $x_j$ .

As the answer can be big enough, print the number $k$ modulo $998\,244\,353$ .

输入输出样例

输入 #1
1
0
输出 #1
10
输入 #2
2
1
0 1
输出 #2
99
输入 #3
2
9
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
输出 #3
91

说明/提示

In the first example we can construct a set that contains all integers from $0$ to $9$ . It's easy to see that there are no two equivalent numbers in the set.

In the second example there exists a unique pair of equivalent numbers: $01$ and $10$ . We can construct a set that contains all integers from $0$ to $99$ despite number $1$ .
上一题 去做题 下一题