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

int N, D;
vector<int> a;

int grundy(int n){
  return (n-1)%(D+1);
  set<int> V;
  if(n == 1) return 0;
  int s = 0;
  for(int i = 1; i <=D; i++){
    if(n - i >= 1){
      V.insert(grundy(n-i));
    }
  }
  int g = 0;
  while(V.count(g))g ++;
  return g;
}

int main(void){
  cin >> N >> D;
  a = vector<int>(N);
  for(auto& _a: a){
    cin >> _a;
  }

  int g = 0;
  for(const auto& _a: a){
    g = g ^ grundy(_a);
  }

  if(g == 0){
    cout << "Second" << endl;
  }else{
    cout << "First" << endl;
  }
}

