#include <bits/stdc++.h>
using namespace std;
using big = long long;
const int N = 1002000;
vector<int> adj[N];
int col[N];
void dfs(int x, int c) {
  col[x] = c;
  for (int v : adj[x]) {
    if (col[v] == -1) {
      dfs(v, !c);
    }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  int n;
  cin >> n;
  if (n & 1) {
    cout << "Second" << endl;
    vector<vector<int>> b(n);
    for (int i = 1; i <= 2 * n; ++i) {
      int id;
      cin >> id;
      --id;
      b[id].push_back(i);
    }
    for (const auto &v : b) {
      adj[v[0]].push_back(v[1]);
      adj[v[1]].push_back(v[0]);
    }
    for (int i = 1; i <= n; ++i) {
      adj[i].push_back(i + n);
      adj[i + n].push_back(i);
    }
    memset(col, -1, sizeof(col));
    for (int i = 1; i <= 2 * n; ++i) {
      if (col[i] == -1) {
        dfs(i, 0);
      }
    }
    big sum = 0;
    for (int i = 1; i <= 2 * n; ++i) {
      if (col[i]) {
        sum += i;
      }
    }
    if (sum % (2 * n) == n) {
      for (int i = 1; i <= 2 * n; ++i) {
        col[i] = !col[i];
      }
    }
    for (const auto &p : b) {
      if (col[p[0]]) {
        cout << p[0] << " ";
      } else {
        cout << p[1] << " ";
      }
    }
    cout << endl;
  } else {
    cout << "First" << endl;
    for (int i = 1; i <= n; ++i) {
      cout << i << " ";
    }
    for (int i = 1; i <= n; ++i) {
      cout << i << " ";
    }
    cout << endl;
  }
  return 0;
}
