#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10, size = 1 << 20, mod = 998244353, inf = 2e9;
int n, col[N], pos[N];
vector<int> p[N];
long long s[5];
void dfs(int x, int c) {
  if (col[x] >= 0) return;
  col[x] = c;
  s[c] += x;
  c ^= 1;
  if (x <= n)
    dfs(x + n, c);
  else
    dfs(x - n, c);
  dfs(p[pos[x]][0], c);
  dfs(p[pos[x]][1], c);
}
int main() {
  cin >> n;
  if (n % 2 == 0) {
    puts("First");
    fflush(stdout);
    for (int i = 0; i < 2 * n; i++) cout << (i % n + 1) << " ";
    return 0;
  }
  puts("Second");
  fflush(stdout);
  for (int i = 1, x; i <= n * 2; i++)
    cin >> x, pos[i] = x, p[x].push_back(i), col[i] = -1;
  for (int i = 1; i <= n * 2; i++) dfs(i, 0);
  int t = (s[0] % (2 * n)) ? 1 : 0;
  for (int i = 1; i <= n * 2; i++)
    if (col[i] == t) cout << (i) << " ";
  return 0;
}
