IQ 게임
시간 제한2초메모리 제한1024 MB
원형 탁자의 n개 구역에 남은 봉투 k개가 있을 때, Hyperblitz 질문이 열리기까지의 기대 라운드 수를 998244353으로 나눈 나머지로 구합니다.
문제
인기 TV 프로그램 "Kak? Zachem? Pochemu?"에는 어려운 질문을 함께 푸는 6명의 팀이 나온다. 참가자들은 원형 테이블에 둘러앉아 있고, 테이블은 시계 방향으로 1부터 까지 번호가 매겨진 개의 구역으로 나뉘어 있다. 게임이 시작될 때 각 구역에는 답해야 할 질문이 든 봉투가 하나씩 있다.
매 라운드마다 테이블 중앙의 회전 바늘이 구역 하나를 균등한 확률로 고른다. 선택된 구역에 봉투가 있으면 진행자가 그 봉투를 열어 안의 질문을 읽는다. 선택된 구역이 비어 있으면, 진행자는 그 구역에서 시계 방향으로 다음에 있는 봉투를 연다. 라운드가 끝나면 열린 봉투는 테이블에서 치운다.
오늘 밤 청중이 가장 좋아하는 팀이 게임을 하고 있다. 라운드 중 라운드는 이미 진행되었으므로 테이블에는 봉투가 개 남아 있다. 팀의 상황은 좋지 않다. 한 번만 더 틀리면 탈락한다. 남은 질문 중 하나는 "Hyperblitz"라고 불리는 악명 높은 어려운 질문이다. 팀은 "Hyperblitz"를 제외한 나머지 질문에는 모두 답할 수 있다고 자신한다. 팀이 플레이할 라운드 수의 기댓값을 으로 나눈 나머지로 구하라 (자세한 내용은 출력 항목 참고).
입력
첫 줄에 세 정수 , , 가 주어진다. 각각 전체 구역 수, 남은 질문 수, "Hyperblitz" 질문이 있는 구역 번호이다 (; ; ). 임이 보장된다.
둘째 줄에는 아직 봉투가 있는 구역 번호 가 시계 방향 순서로 주어진다 (). 를 만족하는 인덱스 는 정확히 하나이다.
출력
팀이 플레이할 라운드 수의 기댓값을 정수 하나로 출력한다. 여기에는 피할 수 없는 "Hyperblitz" 라운드도 포함된다.
정확히 말하면 이라 하자. 기댓값은 기약분수 로 나타낼 수 있으며, 이다. 이고 을 만족하는 정수 를 출력하라.
힌트
첫 번째 예시 경우, 첫 라운드에서 팀이 "Hyperblitz"를 만날 확률은 이다. 따라서 확률 로 1라운드, 확률 로 2라운드를 플레이한다. 라운드 수의 기댓값은 이다.
이므로 답은 이다.