만드는 중입니다

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

특이점 님

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

요약
계단 위에서 x개를 가져가면 아래 j번째 계단에 x^j개가 더해지는 게임에서 선공과 후공 중 누가 이기는지 판정합니다.
난이도

어려움10점 중 8점

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

문제

지수적 계단 님(Exponential staircase nim)은 NN칸짜리 계단에 수많은 코인을 올려놓고 두 사람이 하는 게임이다. 두 사람은 차례를 번갈아 가며 둔다. 게임을 시작할 때 각 칸에는 코인이 몇 개씩 올려져 있다.

밑에서 ii번째 칸에 올려둔 코인의 개수를 CiC_i라고 하자. 다음 그림은 N=4N=4, C=[3,1,0,2]C=[3, 1, 0, 2]인 경우를 나타낸다.

각자의 차례에 플레이어는 코인이 있는 칸을 하나 골라, 그 칸에서 1개 이상 PP개 이하의 코인을 가져와야 한다.

밑에서 ii번째 칸에서 xx개의 코인을 가져오면, 그 밑에 있는 모든 칸에 새로운 코인이 추가된다. 추가되는 양은 xx에 따라 지수적으로 늘어난다. 정확히는 j<ij<i인 밑에서 jj번째 칸에 xjx^j개의 코인이 추가된다.

다음 그림들은 처음 예시 상황에서 i=2i=2, x=1x=1을 선택해 차례를 진행한 결과와 i=4i=4, x=2x=2를 선택해 진행한 결과를 각각 나타낸다.

위쪽 칸에서 코인을 많이 가져가면, 사람이 따라잡을 수 없는 속도로 게임이 커지는 특이점을 보게 될 것이다.

그래도 게임은 계속되고, 언젠가는 가져올 코인이 없는 사람이 생긴다. 그 사람이 게임에서 진다.

두 사람이 각자의 승리를 위해 최선을 다한다고 할 때, 선공과 후공 중 누가 이기는지 구하라.

입력

첫 번째 줄에 테스트 케이스의 개수 TT가 주어진다. 이후 각 테스트 케이스가 두 줄씩, 총 2T2T개의 줄에 걸쳐 주어진다.

각 테스트 케이스의 첫 번째 줄에는 계단의 칸 수 NN과 한 번에 가져갈 수 있는 코인의 최대 개수 PP가 주어진다.

두 번째 줄에는 게임을 시작할 때 계단의 각 칸에 올려둔 코인의 개수 C1,C2,⋯ ,CNC_1, C_2, \cdots, C_N이 주어진다.

출력

각 테스트 케이스마다 한 줄에 선공이 이기면 First를, 후공이 이기면 Second를 출력한다.

제한

  • 1≤N≤200 0001 \leq N \leq 200\,000
  • 주어지는 모든 NN의 합은 200 000200\,000 이하이다.
  • 1≤P≤10181 \leq P \leq 10^{18}
  • 0≤Ci≤10180 \leq C_i \leq 10^{18}
  • CN≠0C_N \neq 0

예제1

  1. 예제 1

    입력
    4
    1 3
    30
    2 5
    1 2
    4 2
    3 1 0 2
    5 4
    100 100 100 100 100
    
    예상 출력
    First
    First
    Second
    Second