만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

스펀지

면접 대비

시간 제한1초메모리 제한1024 MB

요약
W×H 격자에 있는 K개의 바이러스가 매초 인접한 8칸 중 한 곳으로 움직이거나 제자리에 머무를 때, T초 뒤 가능한 서로 다른 배치의 수를 998244353으로 나눈 나머지로 구합니다.
난이도

쉬움10점 중 3점

유형
수학, 구현
정답자
아직 제출이 없습니다

문제

가로 WW칸, 세로 HH칸으로 이루어진 격자 모양 스펀지가 있다. 스펀지는 1×11 \times 1 크기의 칸으로 나뉘어 있고, 곳곳에 구멍이 뚫려 있어 바이러스가 이동할 수 있다.

바이러스는 1초마다 스펀지 밖으로 벗어나지 않는 범위에서 상하좌우와 대각선까지 인접한 8칸 중 한 칸으로 이동하거나, 현재 칸에 가만히 있을 수 있다. 한 칸에 바이러스가 여러 마리 있을 수 있으며, 모양이 달라 서로 구분할 수 있다.

raa는 바이러스를 관찰하다가 TT초 후에 가능한 서로 다른 바이러스 분포의 수가 궁금해졌다. 어떤 바이러스의 위치라도 다르면 두 분포는 다르다. raa를 도와 그 수를 구하자.

입력

첫 번째 줄에 스펀지의 가로 길이 WW, 세로 길이 HH, 바이러스의 수 KK, raa가 바이러스를 관찰할 시간 TT가 공백으로 구분되어 주어진다. (1≤W,H,K≤1061 \leq W, H, K \leq 10^6, 0≤T≤1060 \leq T \leq 10^6)

이어서 KK개의 줄에 걸쳐 각 바이러스의 현재 위치가 주어진다. i+1i+1번째 줄에는 ii번째 바이러스의 위치를 나타내는 두 정수 xix_i, yiy_i가 공백으로 구분되어 주어진다. 이는 ii번째 바이러스가 스펀지의 맨 왼쪽 위 칸에서 가로로 xix_i번째, 세로로 yiy_i번째 칸에 있다는 뜻이다. (1≤xi≤W1 \leq x_i \leq W, 1≤yi≤H1 \leq y_i \leq H)

입력으로 주어지는 수는 모두 정수이다.

출력

TT초 후 가능한 서로 다른 바이러스 분포의 수를 구하라. 수가 매우 커질 수 있으므로 998 244 353998\,244\,353으로 나눈 나머지를 출력한다.

예제2

  1. 예제 1

    입력
    7 6 1 2
    3 3
    
    예상 출력
    25
    
  2. 예제 2

    입력
    5 4 2 1
    3 3
    1 4
    
    예상 출력
    36