#include <bits/stdc++.h>
using namespace std;
long long n;
long long a[1000010];
long long par[1000010];
void build(long long r) {
  long long ini = r;
  do {
    if (a[par[r]] == 0) {
      a[r] = 1;
      r = par[r] % n;
    } else {
      a[r + n] = 1;
      r = par[r + n] % n;
    }
  } while (r != ini);
}
vector<long long> aux[1000010];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> n;
  if (n % 2 == 0) {
    cout << "First" << endl;
    for (long long i = 1; i <= n; i++) cout << i << " ";
    for (long long i = 1; i <= n; i++) cout << i << " ";
    cout << endl;
    long long x;
    cin >> x;
    return 0;
  }
  cout << "Second" << endl;
  for (long long i = 1; i <= 2 * n; i++) cin >> par[i];
  for (long long i = 1; i <= 2 * n; i++) aux[par[i]].push_back(i);
  for (long long i = 1; i <= n; i++) {
    par[aux[i][0]] = aux[i][1];
    par[aux[i][1]] = aux[i][0];
  }
  for (long long i = 1; i <= 2 * n; i++)
    if (par[i] == 2 * n) par[i] = 0;
  par[0] = par[2 * n];
  for (long long i = 0; i < n; i++) {
    if (a[i] == 0 && a[i + n] == 0) build(i);
  }
  a[2 * n] = a[0];
  long long sum = 0;
  for (long long i = 1; i <= 2 * n; i++) {
    if (a[i]) sum += i;
  }
  if (sum % (2 * n) == 0) {
    for (long long i = 1; i <= 2 * n; i++) {
      if (a[i]) cout << i << " ";
    }
    cout << endl;
  } else {
    for (long long i = 1; i <= 2 * n; i++) {
      if (!a[i]) cout << i << " ";
    }
    cout << endl;
  }
  int x;
  cin >> x;
}
