using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static long[] NList => ReadLine().Split().Select(long.Parse).ToArray(); public static void Main() { Solve(); } static void Solve() { var n = NN; var a = NList; var cum = new long[n + 1]; for (var i = 0; i < n; ++i) cum[i + 1] = cum[i] + a[i]; WriteLine(IsWin(0, n, a, cum) ? "First" : "Second"); } static bool IsWin(int l, int r, long[] a, long[] cum) { if (l == r) return false; if (r - l == 1) return true; if (a[l] == a[r - 1]) return true; var ok = r - 1; var ng = -1; while (ok - ng > 1) { var mid = (ok + ng) / 2; if ((r - l) * a[mid] >= cum[r] - cum[l]) ok = mid; else ng = mid; } if (l < ok) { if (!IsWin(l, ok, a, cum)) return true; } if (ok < r) { if (!IsWin(ok, r, a, cum)) return true; } return false; } }