#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define llint long long #define inf 1e18 #define rep(x, s, t) for(llint (x) = (s); (x) < (t); (x)++) #define Rep(x, s, t) for(llint (x) = (s); (x) <= (t); (x)++) #define chmin(x, y) (x) = min((x), (y)) #define chmax(x, y) (x) = max((x), (y)) #define mod 1000000007 using namespace std; typedef pair P; llint n, m; llint a[200005]; llint dp[200005][2]; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for(int i = 1; i <= n; i++) cin >> a[i]; dp[n][0] = dp[n][1] = 0; for(int i = n-1; i >= 0; i--){ for(int j = 0; j < 2; j++){ if(j == 0){ if(a[i+1] == 1) dp[i][j] = dp[i+1][1-j] + (1-m); else{ dp[i][j] = max(dp[i+1][1-j] + a[i+1]-m, dp[i+1][j] + a[i+1]-1 + (m-1)); } } else{ if(a[i+1] == 1) dp[i][j] = dp[i+1][1-j] - (1-m); else{ dp[i][j] = min(dp[i+1][1-j] - (a[i+1]-m), dp[i+1][j] - a[i+1]-1 - (m-1)); } } } } if(dp[0][0] > 0) cout << "First" << endl; else cout << "Second" << endl; return 0; }