#include <bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
int n, m, t, k;
int d[((int)2e5 + 5)];
int dp[((int)2e5 + 5)];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cin >> n >> k;
  for (int i = 0; i < n; ++i) cin >> d[i];
  for (int i = 0; i <= k; ++i) dp[i] = -1;
  dp[0] = 1;
  for (int i = 1; i <= k; ++i) {
    bool flag = false;
    for (int j = 0; j < n; ++j)
      if (i >= d[j] && dp[i - d[j]] == 1) {
        flag = 1;
        break;
      }
    if (flag)
      dp[i] = 0;
    else
      dp[i] = 1;
  }
  if (dp[k] == 0)
    cout << "First\n";
  else
    cout << "Second\n";
  for (int i = 0; i <= k; ++i) {
    cout << i << " " << dp[i] << endl;
  }
  return 0;
}
