로봇 경주
시간 제한1초메모리 제한512 MB
주어진 장벽 정보와 일치하고 모든 로봇의 완주 시간이 같은 n×m 격자의 개수를 998244353으로 나눈 나머지로 구합니다.
문제
매년 열리는 로봇 경주가 오늘 베를란드에서 열린다. 이반도 참가자 중 한 명이다. 경주가 시작되기 전에 그는 경기장이 어떻게 생겼는지 알아보려 한다.
경기장은 크기의 직사각형이며, 단위 칸 개로 나뉘어 있다. 행은 1부터 까지, 열은 1부터 까지 번호가 매겨진다. 는 행 열의 칸을 뜻한다. 인접한 두 칸 사이에는 장애물이 있을 수도 있고 없을 수도 있다.
로봇은 대이며, 경주 전에는 첫 번째 열의 칸 에 놓여 있다. 결승점은 칸이다. 경주가 시작되면 각 로봇은 결승점을 향해 움직인다. 칸 에서 로봇은 또는 로 이동할 수 있다. 두 칸 사이에 장애물이 없으면 로봇은 즉시 이동한다. 장애물이 있으면 이동에 1초가 걸린다.
각 로봇은 장애물의 위치를 미리 모두 알고 있으며, 결승점에 가장 적은 시간이 걸리는 경로를 택한다. 로봇은 매우 작아서 여러 대가 같은 칸에 있을 수 있다. 모든 로봇이 결승점에 도달하는 데 걸리는 시간이 같으면 그 경기장을 공정하다고 한다.
이반은 경기장을 한 번 보았고 몇 가지 정보를 기억하고 있다. 일부 인접한 칸 쌍에 대해서는 그 사이에 장애물이 있는지 없는지 확실히 알고 있다. 또한 경기장이 공정하다는 것도 확실하다. 이반은 이 조건을 모두 만족하는 경기장이 몇 개인지 알고 싶어 한다. 답이 매우 클 수 있으므로 998244353으로 나눈 나머지를 구한다.
입력
첫 줄에 경기장의 크기 과 이 주어진다 (, ).
둘째 줄에는 이반이 장애물 여부를 알고 있는 칸 쌍의 개수 가 주어진다 ().
다음 개의 줄에는 다섯 정수 , , , , 가 주어진다 (, , ). 이면 칸 과 사이에 장애물이 없고, 이면 장애물이 있다. 주어지는 두 칸은 항상 인접하며, 같은 칸 쌍이 두 번 이상 주어지지 않는다.
출력
이반의 조건을 모두 만족하는 공정한 경기장의 개수를 998244353으로 나눈 나머지를 한 줄에 출력한다.
힌트
그림은 예제에 대한 설명이다. 실선은 장애물을, 점선은 장애물이 없음을 나타낸다.
