CF1442C Graph Transpositions
题号:NC239223
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

给你一个n个顶点和m条边的有向图。顶点编号从1n。顶点1处有一个标记。

你可以进行以下两种操作:

- 移动标记:如果存在一条的边,将标记从u移动到v,这个操作需要1秒。
- 图翻转:翻转图上的所有边的方向,将图上**每一条边**替换为,第k次使用这个操作需要耗时秒。

你需要找到将标记从1移动到n的最短时间,请将答案对998,244,353取模。

输入描述:

第一行两个整数n,m,表示点数和边数。

接下来m行每行两个整数u,v,表示存在一条的有向边。

输出描述:

输出一个整数,表示答案对998,244,353取模后的结果。
示例1

输入

复制
4 4
1 2
2 3
3 4
4 1

输出

复制
2
示例2

输入

复制
4 3
2 1
2 3
4 3

输出

复制
10

备注:



保证不存在重边并且至少存在一种从1n的方案。