import java.util.Scanner

object Main extends App {

  val sc = new Scanner(System.in)

  val n = sc.nextInt()
  val ar = (1 to n).map(_ => sc.nextLong())

  println(solve(ar, true))

  def solve(ar: Seq[Long], isFirst: Boolean): String = {
    if (determined(ar)) winner(isFirst)
    else if (determined2(ar)) winner(!isFirst)
    else {
      val newAr = ar.map(l => if (l % 2 == 1) l - 1 else l)
      val gcd = gcdForArr(newAr)
      solve(newAr.map(_ / gcd), !isFirst)
    }
  }

  def winner(isFirst: Boolean): String = if (isFirst) "First" else "Second"

  def determined(ar: Seq[Long]) = {
    (ar.sum - n) % 2 == 1
  }

  def determined2(ar: Seq[Long]) = {
    ar.count(_ % 2 == 1) > 1 || ar.contains(1)
  }

  def gcdForArr(arr: Seq[Long]): Long =
    arr.reduce((acc, h) => gcd(acc, h))

  def gcd(a: Long, b: Long): Long = {
    if (a % b == 0) b else gcd(b, a % b)
  }
}