#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
using namespace std;
const int maxn = 3e5 + 10, maxm = 11;
int casn, n, m;
long long k;
struct node {
  int a, b, flag;
};
unordered_set<unsigned long long> ck;
unordered_map<unsigned long long, int> cnt;
unordered_map<unsigned long long, node> dp;
unsigned long long pw[40];
node dfs(unsigned long long now, int sum, int x, int len, string s = "") {
  if (dp.count(now)) return dp[now];
  node mx = {0, 0, 0};
  for (int i = 1; i <= 26; ++i) {
    unsigned long long to = now * 29ull + i;
    if (ck.count(to)) {
      node tmp = dfs(to, sum + i, max(i, x), len + 1, s + char('a' + i - 1));
      swap(tmp.a, tmp.b);
      tmp.flag ^= 1;
      tmp.a += (sum + i) * max(i, x) + cnt[to];
      if (mx.flag < tmp.flag)
        mx = tmp;
      else if (tmp.flag == mx.flag && mx.a < tmp.a)
        mx = tmp;
      else if (tmp.flag == mx.flag && tmp.a == mx.a && mx.b > tmp.b)
        mx = tmp;
    }
    to = i * pw[len] + now;
    if (ck.count(to)) {
      node tmp = dfs(to, sum + i, max(i, x), len + 1, char('a' + i - 1) + s);
      swap(tmp.a, tmp.b);
      tmp.flag ^= 1;
      tmp.a += (sum + i) * max(i, x) + cnt[to];
      if (mx.flag < tmp.flag)
        mx = tmp;
      else if (tmp.flag == mx.flag && mx.a < tmp.a)
        mx = tmp;
      else if (tmp.flag == mx.flag && tmp.a == mx.a && mx.b > tmp.b)
        mx = tmp;
    }
  }
  return dp[now] = mx;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  pw[0] = 1;
  for (int i = 1; i <= 32; ++i) pw[i] = pw[i - 1] * 29;
  cin >> n;
  for (int i = 1; i <= n; ++i) {
    set<unsigned long long> vis;
    string s;
    cin >> s;
    int len = s.size();
    for (int i = 0; i <= len - 1; ++i) {
      unsigned long long t = 0;
      for (int j = i; j <= len - 1; ++j) {
        t = t * 29 + s[j] - 'a' + 1;
        vis.insert(t);
      }
    }
    for (auto i : vis) ck.insert(i), ++cnt[i];
  }
  auto ans = dfs(0, 0, 0, 0);
  if (ans.flag)
    cout << "First\n";
  else
    cout << "Second\n";
  cout << ans.a << ' ' << ans.b << endl;
}
