#dpk. [dp_k]Stones

[dp_k]Stones

题目描述

有一个由 NN 个正整数组成的集合 A=a1,a2,ldots,aNA = \\{ a_1, a_2, \\ldots, a_N \\}。太郎和次郎将在彼此之间玩以下游戏。

最初,我们有一个由 KK 个石头组成的堆。两个玩家交替执行以下操作,从太郎开始:

  • 从堆中选择一个元素 xx,并且从堆中准确地移除 xx 个石头。

当一个玩家无法继续操作时,他将输掉游戏。假设两个玩家都采取最优策略,确定胜利者是谁。

约束条件

  • 输入中的所有值都是整数。
  • 1leqNleq1001 \\leq N \\leq 100
  • 1leqKleq1051 \\leq K \\leq 10^5
  • 1leqa1<a2<cdots<aNleqK1 \\leq a_1 < a_2 < \\cdots < a_N \\leq K

输入

输入将从标准输入读取,并具有以下格式:

NN KK a1a_1 a2a_2 ldots\\ldots aNa_N

输出

如果太郎将获胜,则打印 First;如果次郎将获胜,则打印 Second


示例输入1

2 4
2 3

示例输出1

First

如果太郎移除三个石头,次郎将无法继续操作。因此,太郎获胜。


示例输入2

2 5
2 3

示例输出2

Second

无论太郎在他的操作中做什么,次郎都会获胜,如下所示:

  • 如果太郎移除两个石头,次郎可以移除三个石头,使太郎无法继续操作。
  • 如果太郎移除三个石头,次郎可以移除两个石头,使太郎无法继续操作。

示例输入3

2 7
2 3

示例输出3

First

太郎应该移除两个石头。然后,无论次郎在他的操作中做什么,太郎都会获胜,如下所示:

  • 如果次郎移除两个石头,太郎可以移除三个石头,使次郎无法继续操作。
  • 如果次郎移除三个石头,太郎可以移除两个石头,使次郎无法继续操作。

示例输入4

3 20
1 2 3

示例输出4

Second

示例输入5

3 21
1 2 3

示例输出5

First

示例输入6

1 100000
1

示例输出6

Second