#include <bits/stdc++.h>
using namespace std;
int main() {
  cin.sync_with_stdio(0);
  cin.tie(0);
  cin.exceptions(cin.failbit);
  int n;
  cin >> n;
  if (n % 2) {
    cout << "Second" << endl;
    vector<vector<int> > prs(n);
    for (int x = (0); x < (2 * n); ++x) {
      int i;
      cin >> i;
      prs[i - 1].push_back(x);
    }
    vector<int> bd(2 * n);
    for (int i = (0); i < (n); ++i) {
      int a = prs[i][0], b = prs[i][1];
      bd[a] = b;
      bd[b] = a;
    }
    vector<int> sig(2 * n, 0);
    function<void(int, int)> set_sig = [&](int pos, int val) {
      if (sig[pos]) return;
      sig[pos] = val;
      if (val == 1) {
        int sop = pos < n ? pos + n : pos - n;
        set_sig(sop, -val);
      } else {
        set_sig(bd[pos], -val);
      }
    };
    for (int i = (0); i < (2 * n); ++i)
      if (!sig[i]) set_sig(i, 1);
    long long res = 0;
    for (int i = (0); i < (2 * n); ++i)
      if (sig[i] == 1) res += i + 1;
    int tp = res % (2 * n) ? -1 : 1;
    for (int i = (0); i < (2 * n); ++i)
      if (sig[i] == tp) cout << i + 1 << " ";
    cout << endl;
  } else {
    cout << "First" << endl;
    for (int i = (0); i < (2 * n); ++i) cout << (i % n) + 1 << " ";
    cout << endl;
  }
  int res;
  cin >> res;
}
