#include using namespace std; using P = pair; const int M = 1000000007; vector a, ims; map mp; bool iswin(int l, int r) { if (mp.count(P(l, r))) return mp[P(l, r)]; long long x = ims[r] - ims[l]; if (a[l] * (r - l) >= x || a[r - 1] * (r - l) < x) return mp[P(l, r)] = true; int low = l, high = r; while (low + 1 < high) { int m = (low + high) / 2; if (a[m] * (r - l) >= x) high = m; else low = m; } return mp[P(l, r)] = !iswin(l, high) || !iswin(high, r); } int main() { int n; cin >> n; a = vector(n); ims = vector(n + 1); for (int i = 0; i < n; ++i) { cin >> a[i]; } sort(a.begin(), a.end()); for (int i = 0; i < n; ++i) { ims[i + 1] = ims[i] + a[i]; } cout << (iswin(0, n) ? "First\n" : "Second\n"); return 0; }