#include <bits/stdc++.h>
using namespace std;
unordered_map<string, array<int, 3> > mem;
int N;
unordered_set<string> ins[30];
array<int, 3> f(string s, int sum, int m) {
  if (mem.count(s)) {
    return mem[s];
  }
  array<int, 3> ret = {{0, 0, 0}};
  for (char c = 'a'; c <= 'z'; c++) {
    for (int i = 0; i < 2; i++) {
      if (i == 0) {
        s.push_back(c);
      } else {
        s = string{c} + s;
      }
      int n = 0;
      for (int i = 0; i < N; i++) {
        if (ins[i].count(s)) {
          n++;
        }
      }
      if (n) {
        int sum2 = sum + c - 'a' + 1;
        int m2 = max(m, c - 'a' + 1);
        array<int, 3> a = f(s, sum2, m2);
        array<int, 3> b = {{a[0] ^ 1, sum2 * m2 + n - a[2], -a[1]}};
        ret = max(ret, b);
      }
      if (i == 0) {
        s.pop_back();
      } else {
        s = s.substr(1);
      }
    }
  }
  return mem[s] = ret;
}
int main() {
  cin >> N;
  for (int i = 0; i < N; i++) {
    string s;
    cin >> s;
    for (int j = 0; j < s.size(); j++) {
      for (int k = j + 1; k <= s.size(); k++) {
        ins[i].insert(s.substr(j, k - j));
      }
    }
  }
  auto r = f("", 0, 0);
  if (r[0]) {
    cout << "First" << endl;
  } else {
    cout << "Second" << endl;
  }
  cout << r[1] << " " << -r[2] << endl;
  return 0;
}
