from functools import lru_cache import bisect from itertools import accumulate eps = 1e-10 N = int(input()) A = list(map(int, input().split())) B = list(accumulate(A, initial=0)) @lru_cache(maxsize=None) def grundy(l, r): if r == l: return 0 if r - l == 1: return 1 sm = B[r] - B[l] sz = r - l m = bisect.bisect_left(A, sm / sz - eps) if l == m: return 1 tmp = set() tmp.add(grundy(l, m)) tmp.add(grundy(m, r)) for i, v in enumerate(sorted(tmp)): if i == v: continue return i return i + 1 if grundy(0, N): print("First") else: print("Second")