#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000005;
int n, flg;
long long sum;
int p[maxn], col[maxn];
vector<int> v[maxn];
void dfs(int x, int c) {
  col[x] = c;
  for (int i = 0; i < v[x].size(); i++) {
    int y = v[x][i];
    if (col[y] == 0) dfs(y, 3 - c);
  }
}
int main() {
  scanf("%d", &n);
  if (n % 2 == 0) {
    puts("First");
    fflush(stdout);
    for (int i = 1; i <= 2 * n; i++)
      printf("%d%c", i > n ? i - n : i, i == 2 * n ? '\n' : ' ');
    return 0;
  }
  puts("Second");
  fflush(stdout);
  for (int i = 1; i <= 2 * n; i++) {
    int x;
    scanf("%d", &x);
    if (p[x] == 0)
      p[x] = i;
    else
      v[i].push_back(p[x]), v[p[x]].push_back(i);
    if (i <= n) v[i].push_back(n + i), v[n + i].push_back(i);
  }
  for (int i = 1; i <= 2 * n; i++) {
    if (col[i] == 0) dfs(i, 1);
    if (col[i] == 1) sum += i;
  }
  flg = (sum % (2 * n) == 0 ? 1 : 2);
  for (int i = 1; i <= 2 * n; i++)
    if (col[i] == flg) printf("%d ", i);
  puts("");
  return 0;
}
