#include using namespace std; #define REP(i,n) for(int i=0; i<(int)(n); i++) #define FOR(i,b,e) for (int i=(int)(b); i<(int)(e); i++) #define ALL(x) (x).begin(), (x).end() const double PI = acos(-1); int n; long long v; long long a[20]; int dp[1<<20]; bool dfs(int vis) { if (dp[vis] != -1) return dp[vis]; long long acc = 0; REP (i, n) if (vis & 1 << i) acc += a[i]; if (acc > v) return dp[vis] = true; bool ret = false; REP (i, n) { if (vis & 1 << i) continue; if (!dfs(vis | 1 << i)) ret = true; } return dp[vis] = ret; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> v; REP (i, n) cin >> a[i]; memset(dp, -1, sizeof(dp)); long long sum = 0; REP (i, n) sum += a[i]; if (v >= sum) cout << "Draw" << endl; else if (dfs(0)) cout << "First" << endl; else cout << "Second" << endl; return 0; }