// use mex::mex; // use mvec::mvec; #[allow(unused_imports)] use proconio::{ input, marker::{Bytes, Chars, Usize1}, }; fn main() { input! { n: usize, mut a: [usize; n], } // let m = 10; // let mut g = mvec![0; m; m]; // for i in 0..m { // for j in i..m { // let mut v = vec![]; // for ni in 0..i { // v.push(g[ni][j]); // } // for nj in i..j { // v.push(g[i][nj]); // } // g[i][j] = mex(&v); // eprintln!("{} {}: {}", i, j - i, g[i][j]); // } // } // let mut g = mvec![0; m; m; m]; // for i in 0..m { // for j in i..m { // for k in j..m { // let mut v = vec![]; // for ni in 0..i { // v.push(g[ni][j][k]); // } // for nj in i..j { // v.push(g[i][nj][k]); // } // for nk in j..k { // v.push(g[i][j][nk]); // } // g[i][j][k] = mex(&v); // eprintln!("{} {} {}: {}", i, j - i, k - j, g[i][j][k]); // } // } // } for i in (1..n).rev() { a[i] -= a[i - 1]; } let mut s = 0; for i in (0..n).rev().step_by(2) { s ^= a[i]; } println!("{}", if s == 0 { "Second" } else { "First" }); }