/** * @FileName a.cpp * @Author kanpurin * @Created 2020.08.31 21:57:57 **/ #include "bits/stdc++.h" using namespace std; typedef long long ll; int main() { ll n,m;cin >> n >> m; vector a; for (int i = 0; i < n; i++) { int b;cin >> b; if (i > 0 && a.back() == 1 && b == 1) { a.pop_back(); } else { a.push_back(b); } } n = a.size(); if (n == 0) { puts("Second"); return 0; } if (m == 0) { ll p = 0, q = 0; int turn = 0; for (int i = 0; i < n; i++) { if (turn == 0) { if (a[i] == 1) { p += a[i]; turn = 1 - turn; } else if (i == n-1) { p += a[i]; turn = 1 - turn; } else { if (a[i+1] == 1) { p += a[i]; turn = 1 - turn; } else { p += a[i] - 1; q += 1; } } } else { if (a[i] == 1) { q += a[i]; turn = 1 - turn; } else if (i == n-1) { q += a[i]; turn = 1 - turn; } else { if (a[i+1] == 1) { q += a[i]; turn = 1 - turn; } else { q += a[i] - 1; p += 1; } } } } if (p > q) puts("First"); else puts("Second"); } else { ll p = 0,q = 0; int turn = 0; for (int i = 0; i < n; i++) { if (turn == 0) { if (a[i] == 1) { p += 1 - m; turn = 1 - turn; } else { p += a[i] - 1; q += 1 - m; } } else { if (a[i] == 1) { q += 1 - m; turn = 1 - turn; } else { q += a[i] - 1; p += 1 - m; } } } if (p > q) puts("First"); else puts("Second"); } return 0; }