#include <bits/stdc++.h>
using namespace std;

int main() {
  cin.tie(nullptr);
  ios::sync_with_stdio(false);
  int n;
  cin >> n;
  vector<int> a(n);
  for (auto&& e : a) {
    cin >> e;
  }
  if (n & 1) {
    if (accumulate(begin(a), end(a), 0LL) & 1) {
      cout << "First\n";
    } else {
      cout << "Second\n";
    }
  } else {
    int even = count_if(begin(a), end(a), [](int x) { return x % 2 == 0; });
    int mn = *min_element(begin(a), end(a));
    int mx = *max_element(begin(a), end(a));
    if (even & 1) {
      if (mn == mx and mn % 2 == 0) {
        cout << "Second\n";
      } else {
        cout << "First\n";
      }
    } else {
      if (mn & 1) {
        cout << "First\n";
      } else {
        cout << "Second\n";
      }
    }
  }
}


### Prompt

Please provide a cpp coded solution to the problem described below:

Problem statement

There is a positive integer sequence $ a_1, a_2, \ ldots, a_N $ of length $ N $.

Consider the following game, which uses this sequence and is played by $ 2 $ players on the play and the play.

* Alternately select one of the following operations for the first move and the second move.
* Select a positive term in the sequence for $ 1 $ and decrement its value by $ 1 $.
* When all terms in the sequence are positive, decrement the values ​​of all terms by $ 1 $.



The one who cannot operate first is the loser.

When $ 2 $ players act optimally, ask for the first move or the second move.

Constraint

* $ 1 \ leq N \ leq 2 \ times 10 ^ 5 $
* $ 1 \ leq a_i \ leq 10 ^ 9 $
* All inputs are integers



* * *

input

Input is given from standard input in the following format.


$ N $
$ a_1 $ $ a_2 $ $ ... $ $ a_N $


output

Output `First` when the first move wins, and output` Second` when the second move wins.

* * *

Input example 1


2
1 2


Output example 1


First


The first move has to reduce the value of the $ 1 $ term by $ 1 $ first, and then the second move has to reduce the value of the $ 2 $ term by $ 1 $.

If the first move then decrements the value of the $ 2 $ term by $ 1 $, the value of all terms in the sequence will be $ 0 $, and the second move will not be able to perform any operations.

* * *

Input example 2


Five
3 1 4 1 5


Output example 2


Second


* * *

Input example 3


8
2 4 8 16 32 64 128 256


Output example 3


Second


* * *

Input example 4


3
999999999 1000000000 1000000000


Output example 4


First






Example

Input

2
1 2


Output

First

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;

int main() {
  cin.tie(nullptr);
  ios::sync_with_stdio(false);
  int n;
  cin >> n;
  vector<int> a(n);
  for (auto&& e : a) {
    cin >> e;
  }
  if (n & 1) {
    if (accumulate(begin(a), end(a), 0LL) & 1) {
      cout << "First\n";
    } else {
      cout << "Second\n";
    }
  } else {
    int even = count_if(begin(a), end(a), [](int x) { return x % 2 == 0; });
    int mn = *min_element(begin(a), end(a));
    int mx = *max_element(begin(a), end(a));
    if (even & 1) {
      if (mn == mx and mn % 2 == 0) {
        cout << "Second\n";
      } else {
        cout << "First\n";
      }
    } else {
      if (mn & 1) {
        cout << "First\n";
      } else {
        cout << "Second\n";
      }
    }
  }
}


```