#include #define rep(i, n) for (int i = 0; i < (ll)(n); i++) using namespace std; typedef long long ll; int main() { ll N, V, t = 0; cin >> N >> V; vector A(N); rep(i, N) { cin >> A[i]; t += A[i]; } if (t <= V) { cout << "Draw\n"; return 0; } vector fst(1 << N, true); for (ll i = (1 << N) - 1; i >= 0; i--) { t = 0; rep(j, N) { if (i & (1 << j)) t += A[j]; } if (t > V) { fst[i] = true; } else { fst[i] = false; rep(j, N) { if (i & (1 << j)) continue; if (!fst[i | (1 << j)]) fst[i] = true; } } } if (fst[0]) cout << "First\n"; else cout << "Second\n"; }