#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define all(x) (x).begin(),(x).end()
const int mod=998244353,MAX=103,INF=1<<30;

ll gcd(ll a,ll b){
    if(b==0) return a;
    return gcd(b,a%b);
}

int N;

bool DFS(vector<ll> A){
    
    vector<ll> left(N+2),right(N+2);
    ll sum=0;
    for(int i=0;i<N;i++){
        sum+=A[i];
    }
    
    if((sum-N)%2){
        return 1;
    }
    
    for(int i=1;i<=N;i++){
        left[i]=gcd(left[i-1],A[i-1]);
    }
    
    for(int i=N;i>=1;i--){
        right[i]=gcd(right[i+1],A[i-1]);
    }
    
    bool res=false;
    
    for(int i=1;i<=N;i++){
        if(A[i-1]==1) continue;
        ll g=gcd(gcd(left[i-1],A[i-1]-1),right[i+1]);
        if(g==1) continue;
        
        if(((sum-1)/g-N)%2==0){
            vector<ll> to(N);
            to=A;
            for(int j=0;j<N;j++){
                if(j==i-1) to[j]--;
                to[j]/=g;
            }
            res|=!DFS(to);
        }
    }
    
    return res;
}

int main(){
    
    std::ifstream in("text.txt");
    std::cin.rdbuf(in.rdbuf());
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    cin>>N;
    vector<ll> A(N);
    for(int i=0;i<N;i++){
        cin>>A[i];
    }
    
    if(DFS(A)) cout<<"First"<<endl;
    else cout<<"Second"<<endl;
    
}


#include<bits/stdc++.h>
using namespace std;

const int N = 1000 * 100 + 10;
int n, a[N], tt = 0;
string ans[2] = {"First\n", "Second\n"};

void solve() {
	long long sum = 0;
	bool one = false;
	int cnt[2] = {0, 0};
	for (int i = 0; i < n; i++) {
		 one |= a[i] == 1;
		sum += a[i] - 1;
		cnt[a[i] & 1]++;
	}
	if (one) {
		cout << ans[(sum + 1 + tt) & 1];
		exit(0);
	}
	if (n == 1) {
		cout << ans[(sum + 1 + tt) & 1];
		exit(0);
	}
	if (cnt[0] & 1) {
		cout << ans[tt & 1];
		exit(0);
	}
	if (cnt[1] >= 2) {
		cout << ans[(1 + tt) & 1];
		exit(0);
	}
	for (int i = 0; i < n; i++)
		if (a[i] & 1) {
			a[i]--;
			break;
		}
	long long g = a[0];
	for (int i = 1; i < n; i++)
		g = __gcd(1LL * a[i], g);
	for (int i = 0; i < n; i++)
		a[i] /= g;
	tt++;
	solve();
}

int main() { 
	ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
	cin >> n;
	for (int i = 0; i < n; i++)
		cin >> a[i];
	solve();
	return 0;
}
