#include using namespace std; #define fst(t) std::get<0>(t) #define snd(t) std::get<1>(t) #define thd(t) std::get<2>(t) #define unless(p) if(!(p)) #define until(p) while(!(p)) using ll = long long; using P = std::tuple; const int dx[8] = {-1, 1, 0, 0, -1, -1, 1, 1}, dy[8] = {0, 0, -1, 1, -1, 1, -1, 1}; int N; ll A[100100], B[100100]; bool rec(int l, int r){ int n = r - l; if(n == 0){ return false; } ll sum = B[l] - B[r], average = (sum + n - 1) / n; int i = std::lower_bound(A, A+N, average) - A; return !rec(l, i) || !rec(i, r); } int main(){ std::cin.tie(nullptr); std::ios::sync_with_stdio(false); std::cin >> N; for(int i=0;i> A[i]; } std::copy(A, A+N, B); for(int i=N-2;i>=0;--i){ B[i] += B[i+1]; } bool f = rec(0, N); if(f){ std::cout << "First" << std::endl; }else{ std::cout << "Second" << std::endl; } }