만드는 중입니다

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

Forever Young

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

요약
비증가 배열 A를 단위 증가와 감소 연산으로 정확히 k번 만에 B로 바꾸는 방법의 수를 구합니다. 중간 배열도 모두 비증가여야 합니다.
난이도

어려움10점 중 9점

유형
동적 계획법, 조합론, 수학
정답자
아직 제출이 없습니다

문제

어린 미샤는 음이 아닌 정수로 이루어진 무한 배열을 가지고 논다. 배열이 비증가이면 이 배열을 좋은 배열이라고 부른다.

한 번의 단계에서 미샤는 좋은 배열의 원소 하나를 1만큼 증가시키거나 감소시킬 수 있다. 단, 연산 후에도 배열이 여전히 좋은 배열이어야 한다.

처음에 미샤는 배열 AA를 가지고 있었다. 미샤는 kk번의 단계를 거쳐 배열 BB를 얻었다. 이렇게 BB를 얻는 방법은 몇 가지인가?

입력

첫 번째 줄에 정수 nn (0≤n≤600 \le n \le 60)이 주어진다. 이는 AA에서 0이 아닌 원소의 개수이다. 두 번째 줄에는 공백으로 구분된 정수 nn개가 주어지며, 60≥a1≥a2≥⋯≥an>060 \ge a_1 \ge a_2 \ge \cdots \ge a_n > 0을 만족한다. 이 값들이 AA의 원소이고, AA의 나머지 원소는 모두 0이다.

다음 두 줄은 같은 형식으로 BB를 나타낸다.

0≤∑ai≤600 \le \sum a_i \le 60과 0≤∑bi≤600 \le \sum b_i \le 60이 보장된다.

마지막 줄에는 정수 kk (0≤k≤1060 \le k \le 10^6)가 주어진다.

출력

답을 소수 998 244 353998\,244\,353으로 나눈 나머지를 출력한다.

힌트

첫 번째 예제에서 가능한 방법은 다음과 같다. {3,2,1}→{4,2,1}→{3,2,1}\{3,2,1\} \to \{4,2,1\} \to \{3,2,1\}, {3,2,1}→{3,3,1}→{3,2,1}\{3,2,1\} \to \{3,3,1\} \to \{3,2,1\}, {3,2,1}→{3,2,2}→{3,2,1}\{3,2,1\} \to \{3,2,2\} \to \{3,2,1\}, {3,2,1}→{3,2,1,1}→{3,2,1}\{3,2,1\} \to \{3,2,1,1\} \to \{3,2,1\}, {3,2,1}→{2,2,1}→{3,2,1}\{3,2,1\} \to \{2,2,1\} \to \{3,2,1\}, {3,2,1}→{3,1,1}→{3,2,1}\{3,2,1\} \to \{3,1,1\} \to \{3,2,1\}, {3,2,1}→{3,2}→{3,2,1}\{3,2,1\} \to \{3,2\} \to \{3,2,1\}이다.

두 번째 예제에서는 1111번의 단계로 첫 번째 배열에서 두 번째 배열을 얻는 것이 불가능하다.

예제2

  1. 예제 1

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

    입력
    3
    3 2 1
    3
    3 2 1
    1111
    
    예상 출력
    0