program candy_piles
  implicit none
  integer :: n, a(100001) = 0, i, k, c = 0
  logical :: ok = .false.
  read(*,*) n
  read(*,*) a(1:n)
  call bitonic_sort(a(1:n),.false.)
  k = 1
  do while (k+1 <= a(k+1))
    k = k+1
  end do
  if (mod(a(k)+k,2) == 0) then
    do i = k+1, n
      if (a(i) == a(k+1)) c = c+1
    end do
    ok = a(k+1) >= k .and. mod(c,2) == 1
  else
    ok = k < a(k) .or. (k > 1 .and. mod(a(k-1)+k,2) == 0)
  end if
  if (ok) then
    write(*,'(a)') "First"
  else
    write(*,'(a)') "Second"
  end if
contains
  recursive subroutine bitonic_sort(a,ascend)
    integer, intent(inout) :: a(:)
    logical, intent(in) :: ascend
    integer :: n
    n = size(a)
    if (n == 1) return
    call bitonic_sort(a(1:n/2),.not.ascend)
    call bitonic_sort(a(n/2+1:n),ascend)
    call bitonic_merge(a,ascend)
  end
  recursive subroutine bitonic_merge(a,ascend)
    integer, intent(inout) :: a(:)
    logical, intent(in) :: ascend
    integer :: n, m, i, b
    n = size(a)
    if (n == 1) return
    m = 1
    do while (2*m < n)
      m = 2*m
    end do
    do i = 1, n-m
      if ((a(i) > a(i+m)) .eqv. ascend) then
        b = a(i)
        a(i) = a(i+m)
        a(i+m) = b
      end if
    end do
    call bitonic_merge(a(1:m),ascend)
    call bitonic_merge(a(m+1:n),ascend)
  end
end program candy_piles