만드는 중입니다

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

안전지대

면접 대비

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

요약
양 끝에서 방향을 바꿔 정확히 K번 이동한 뒤 구간 P부터 Q 안에 도착하는 걸음걸이 수를 셉니다.
난이도

쉬움10점 중 3점

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

문제

사루만의 군대가 헬름 협곡을 포위하고 성벽에 화살을 퍼붓고 있다. 로한군에게는 성벽의 한 구간만 막을 수 있는 방패밖에 없다. 당신은 세오덴 왕의 병사이고, 다음 화살 세례가 떨어지기 전에 방패가 지키는 구간으로 몸을 피해야 한다.

성벽의 구간에는 왼쪽부터 00번부터 N−1N-1번까지 번호가 붙어 있고, 당신은 지금 JJ번 구간에 서 있다. 방패는 PP번부터 QQ번까지를 막아 준다. 다음 화살이 떨어지기 전까지 정확히 KK번 이동할 수 있고, 한 번의 이동은 왼쪽으로 한 칸 또는 오른쪽으로 한 칸이다. 성벽이 흔들려서 제자리에 서 있을 수는 없다.

KK번 이동한 뒤 PP번과 QQ번 사이에 서 있게 되는 이동 방법이 몇 가지인지 세어라. 이동 순서가 다르면 다른 방법으로 센다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄에 NN, PP, QQ, JJ, KK가 공백으로 구분되어 주어진다. NN은 성벽의 길이, PP와 QQ는 안전 구간의 양 끝, JJ는 시작 위치, KK는 이동 횟수이다. NN이 00인 줄은 입력의 끝을 뜻하며, 이 줄에 대해서는 아무것도 출력하지 않는다.

성벽 밖으로 나갈 수는 없다. 즉 00번 구간에 있으면 반드시 오른쪽으로, N−1N-1번 구간에 있으면 반드시 왼쪽으로 이동한다.

  • 2≤N≤10002 \le N \le 1000
  • 0≤P≤Q≤N−10 \le P \le Q \le N-1
  • 0≤J≤N−10 \le J \le N-1
  • 1≤K≤601 \le K \le 60
  • 테스트 케이스는 100개 이하이다.
  • 마지막 줄은 항상 0 0 0 0 0이다.

출력

각 테스트 케이스마다 KK번 이동한 뒤 안전 구간에 서 있게 되는 이동 방법의 수를 한 줄에 하나씩 출력한다. 답은 64비트 부호 있는 정수 범위에 들어간다.

예제2

  1. 예제 1

    입력
    4 0 1 2 2
    4 0 1 2 3
    16 2 3 7 13
    0 0 0 0 0
    
    예상 출력
    1
    3
    702
    
  2. 예제 2

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