#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1000000007;
int main() {
  int n;
  cin >> n;
  if (n & 1) {
    cout << "Second\n";
    fflush(stdout);
    vector<int> t[n + 1];
    int p[2 * n + 1];
    for (int i = 1; i <= 2 * n; i++) {
      cin >> p[i];
      t[p[i]].push_back(i);
    }
    vector<int> vis(n, 0);
    vector<vector<int> > res;
    for (int i = 1; i <= n; i++) {
      if (!vis[i % n]) {
        vector<int> v;
        vis[i % n] = 1;
        if (p[i] == p[n + i]) {
          v.push_back(i);
          res.push_back(v);
          continue;
        }
        v.push_back(i);
        int j = t[p[i]][0] + t[p[i]][1] - i;
        while (j % n != i % n) {
          vis[j % n] = 1;
          if (j <= n)
            j += n;
          else
            j -= n;
          v.push_back(j);
          j = t[p[j]][0] + t[p[j]][1] - j;
        }
        res.push_back(v);
      }
    }
    int k = res.size();
    long long sum = 0;
    for (int i = 0; i < k; i++) {
      for (int j : res[i]) {
        sum += j;
      }
    }
    if (sum % (2 * n) != 0) {
      for (int i = 0; i < k; i++) {
        int m = res[i].size();
        if (m % 2 == 1) {
          for (int j = 0; j < m; j++) {
            if (res[i][j] <= n)
              res[i][j] += n;
            else
              res[i][j] -= n;
          }
          break;
        }
      }
    }
    for (int i = 0; i < k; i++)
      for (int j : res[i]) cout << j << " ";
    cout << "\n";
    fflush(stdout);
    int x;
    cin >> x;
  } else {
    cout << "First\n";
    for (int j = 0; j < 2; j++)
      for (int i = 1; i <= n; i++) cout << i << " ";
    cout << "\n";
    fflush(stdout);
    int x;
    cin >> x;
  }
}
