#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using i64 = int64_t; using i32 = int32_t; template void init_n(vector& v, size_t n, U x) { v = vector(n, x); } template void init_n(vector& v, size_t n) { init_n(v, n, T()); } template void read_n(vector& v, size_t n, size_t o = 0) { v = vector(n+o); for (size_t i=o; i> v[i]; } template void read_n(T a[], size_t n, size_t o = 0) { for (size_t i=o; i> a[i]; } template T gabs(const T& x) { return max(x, -x); } #define abs gabs i64 n; vector a; // [l, r) bool f(i64 l, i64 r) { i64 k = r - l; if (k == 1) return true; if (k == 0) return false; i64 sum = 0; for (i64 i = l; i < r; ++i) sum += a[i]; i64 m; for (i64 i = l; i < r; ++i) { m = i; if (k * a[i] >= sum) break; } return (!f(l, m)) || (!f(m, r)); } int main() { cin >> n; read_n(a, n); bool win = f(0, n); cout << (win ? "First\n" : "Second\n"); return 0; }