#include <bits/stdc++.h>
using namespace std;
const long long INF = 1 << 30;
typedef struct {
  long long x, y;
} point;
priority_queue<pair<double, double>, vector<pair<double, double> >,
               greater<pair<double, double> > >
    pq;
vector<pair<double, pair<double, double> > > vpp;
vector<pair<double, double> > vp;
int main() {
  int a, k;
  cin >> a >> k;
  vector<int> ara(a);
  for (int i = 0; i < a; i++) {
    cin >> ara[i];
  }
  sort(ara.rbegin(), ara.rend());
  int w = 1;
  for (int i = 0; i < a;) {
    if (k >= ara[i]) {
      w++;
      k -= ara[i];
    } else {
      i++;
    }
  }
  if (w % 2 == 0) {
    cout << "First";
  } else {
    cout << "Second";
  }
  return 0;
}
