#include // #include // using mint = atcoder::static_modint<998244353>; // using mint = atcoder::static_modint<1000000007>; using namespace std; // using namespace atcoder; using ld = long double; using ll = long long; #define mp(a,b) make_pair(a,b) #define rep(i,s,n) for(int i=s; i<(int)n; i++) const vector dx{1,0,-1,0},dy{0,1,0,-1}; vector experiment(){ vector G(1000); G[1]=true; rep(i,2,1000){ vector b(16); b[G[i-2]]=true; rep(j,2,i){ b[G[j-2]^G[i-(j+1)]]=true; } while(b[G[i]])G[i]++; } // rep(i,0,60)cout << i << " " << G[i] << "\n"; // cout << clock() << "\n"; // cout << *max_element(G.begin(),G.end()); return G; } int main(){ auto v=experiment(); int n;cin >> n; int a[n+1];rep(i,0,n)cin >> a[i]; a[n]=2e9; sort(a,a+n+1); int cnt=1; int g=0; rep(i,1,n+1){ if(a[i-1]+1==a[i])cnt++; else{ if(cnt<1000)g^=v[cnt]; else{ cnt%=34; cnt+=34*20; g^=v[cnt]; } cnt=1; } } if(g)cout <<"First\n"; else cout << "Second\n"; }