#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int dp[1050000] = { 0 }; long long a[22]; int main() { long long n, v; cin >> n >> v; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < (1 << n); i++) { long long sum = 0; for (int j = 0; j < n; j++) { if (i & (1 << j)) { sum += a[j]; } } if (sum > v) { dp[i] = 1; } } if (dp[(1 << n) - 1] == 0) { cout << "Draw" << endl; return 0; } for (int i = (1 << n) - 1; i >= 0; i--) { if (dp[i] == 0) { bool bo = false; for (int j = 0; j < n; j++) { if (!(i & (1 << j))) { if (dp[i + (1 << j)] == -1) { bo = true; } } } if (bo) { dp[i] = 1; } else { dp[i] = -1; } } } if (dp[0] == 1) { cout << "First" << endl; } else { cout << "Second" << endl; } }