아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

대통령 게임

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

요약
두 사람이 번갈아 인접한 2개 이상 K개 이하의 원소를 합치는데 존은 합으로, 프레스턴은 XOR로 바꾸며 하나가 남을 때까지 진행할 때, 최종 값이 홀수가 되어야 이기는 존의 승패를 판정한다.
난이도

어려움10점 중 8점

유형
게임 이론, 동적 계획법, 수학, 비트 연산
정답자
아직 제출이 없습니다

문제

올해 대통령 선거에 존 위와 프레스턴 워 두 후보가 출마한다. 선거 운동을 잠시 멈추고, 두 후보는 NN개의 정수로 이루어진 배열 AA로 게임을 하기로 한다. 현직 대통령인 존부터 시작해, 배열에 원소가 하나만 남을 때까지 두 후보가 번갈아 차례를 둔다.

각 차례에 존은 AA에서 22개 이상 KK개 이하의 연속한 부분 배열을 골라 그 부분 배열을 원소들의 합인 하나의 원소로 바꾼다. 각 차례에 프레스턴은 AA에서 22개 이상 KK개 이하의 연속한 부분 배열을 골라 그 부분 배열을 원소들의 비트 XOR인 하나의 원소로 바꾼다. 정수 배열 XX의 비트 XOR은 다음과 같이 정의하며, 여기서 ⊕\oplus는 비트 XOR 기호이다.

XOR(X)={X1⊕X2if ∣X∣=2XOR([X1,X2,…,X∣X∣−1])⊕X∣X∣if ∣X∣>2XOR(X) = \begin{cases} X_1 \oplus X_2 & \text{if }|X| = 2 \\ XOR([X_1, X_2, \dots, X_{|X|-1}]) \oplus X_{|X|} & \text{if }|X| > 2 \end{cases}

존은 1번 후보이므로, 배열에 남은 원소가 홀수이면 존이 게임에서 이긴다. 그렇지 않고 배열에 남은 원소가 짝수이면 프레스턴이 게임에서 이긴다. 두 후보가 최선을 다해 플레이할 때 누가 이기는지 예측하려 한다.

입력

첫 줄에 두 정수 NN KK (2≤K≤N≤10002 \le K \le N \le 1000)가 주어진다. 각각 배열의 길이와 각 차례에 고를 수 있는 부분 배열의 최대 길이이다. 다음 줄에 NN개의 정수 AiA_i (0≤Ai≤10000 \le A_i \le 1000)가 주어지며, 배열 AA를 나타낸다.

출력

게임에서 이긴 후보의 이름 John 또는 Preston을 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    4 3
    2 0 3 4
    
    예상 출력
    John
    
  2. 예제 2

    입력
    3 2
    1 2 1
    
    예상 출력
    Preston