#include <bits/stdc++.h>
using namespace std;
const long long int MOD = int(1e9 + 7);
template <typename T>
void inpos(T &x) {
  x = 0;
  register T c = getchar();
  while (((c < 48) || (c > 57)) && (c != '-')) c = getchar();
  bool neg = 0;
  if (c == '-') neg = 1;
  for (; c < 48 || c > 57; c = getchar())
    ;
  for (; c > 47 && c < 58; c = getchar()) x = (x << 3) + (x << 1) + (c & 15);
  if (neg) x = -x;
}
template <typename T>
void outpos(T n) {
  if (n < 0) {
    putchar('-');
    n *= -1;
  }
  char snum[65];
  int i = 0;
  do {
    snum[i++] = n % 10 + '0';
    n /= 10;
  } while (n);
  i = i - 1;
  while (i >= 0) putchar(snum[i--]);
}
inline void instr(char *str) {
  register char c = 0;
  register int i = 0;
  while (c < 33) c = getchar();
  while (c != '\n' && c != ' ' && c != EOF) {
    str[i] = c;
    c = getchar();
    ++i;
  }
  str[i] = '\0';
}
const int NAX = 1e5 + 5;
int dp[NAX] = {0};
int main() {
  int n;
  int k;
  cin >> n;
  int arr[n];
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
  }
  for (int i = 0; i < arr[0]; i++) {
    dp[i] = 2;
  }
  for (int i = arr[0]; i <= k; i++) {
    bool ekAAYAYANAHI = false;
    for (int j = 0; j < n; j++) {
      if ((i - arr[j]) >= 0 && (dp[i - arr[j]] == 2)) {
        ekAAYAYANAHI = true;
        break;
      }
    }
    if (ekAAYAYANAHI) {
      dp[i] = 1;
    } else {
      dp[i] = 2;
    }
  }
  if (dp[k] == 1) {
    cout << "First" << endl;
  } else {
    cout << "Second" << endl;
  }
}
