429B. Godsend

来源:互联网 发布:电动牙刷 知乎 编辑:程序博客网 时间:2024/06/05 19:19
B. Godsend
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Leha somehow found an array consisting of n integers. Looking at it, he came up with a task. Two players play the game on the array. Players move one by one. The first player can choose for his move a subsegment of non-zero length with an odd sum of numbers and remove it from the array, after that the remaining parts are glued together into one array and the game continues. The second player can choose a subsegment of non-zero length with an even sum and remove it. Loses the one who can not make a move. Who will win if both play optimally?

Input

First line of input data contains single integer n (1 ≤ n ≤ 106) — length of the array.

Next line contains n integers a1, a2, ..., an (0 ≤ ai ≤ 109).

Output

Output answer in single line. "First", if first player wins, and "Second" otherwise (without quotes).

Examples
Input
41 3 2 3
Output
First
Input
22 2
Output
Second
Note

In first sample first player remove whole array in one move and win.

In second sample first player can't make a move and lose.


题意分析:两个人进行游戏:对输入的数组轮流进行切割,切割剩余的部分给另一个人切。要求第一个人切割的部分必须和为奇数,第二个和为偶数。求轮到谁时不能切割。输出First或Second表示。

假设第一个人切的子列和为sum1,第二个人为sum2,则必有sum1+sum2 为奇数。所以当数列中有奇数项时,First赢。当全部为偶数时,第二个人赢。

import java.util.Scanner;    public class CF_429B {        public static void main(String[] args) {          Scanner sc = new Scanner(System.in);                    int n = sc.nextInt();          long k ;          for(int i=0;i<n;i++) {              k = sc.nextLong();              if(k%2!=0) {                  System.out.println("First");                  return ;              }          }          System.out.println("Second");                }    }  


原创粉丝点击