#include <bits/stdc++.h>
using namespace std;
vector<string> vs;
int n;
unordered_map<string, int> dp;
unordered_map<string, pair<int, int>> memo;
string pushFront(char c, string s) {
  string res;
  res += c;
  res += s;
  return res;
}
string pushBack(char c, string s) {
  string res;
  res += s;
  res += c;
  return res;
}
bool have(string s) {
  for (int i = 0; i < n; ++i)
    if (vs[i].find(s) != string::npos) return true;
  return false;
}
bool have(char c) {
  string s;
  s += c;
  return have(s);
}
int cost(string s) {
  int ret = 0;
  for (int i = 0; i < n; ++i)
    if (vs[i].find(s) != string::npos) ++ret;
  int maxi = 0;
  for (int i = 0; i < s.size(); ++i) {
    maxi = max(maxi, s[i] - 'a' + 1);
  }
  for (int i = 0; i < s.size(); ++i) {
    ret += maxi * (s[i] - 'a' + 1);
  }
  return ret;
}
bool rec1(string s) {
  if (dp.find(s) != dp.end()) return dp[s];
  int res = 0;
  for (char c = 'a'; c <= 'z'; ++c) {
    if (have(c)) {
      string fs = pushFront(c, s);
      string bs = pushBack(c, s);
      if (have(fs)) res = max(res, (1 - rec1(fs)));
      if (have(bs)) res = max(res, (1 - rec1(bs)));
    }
  }
  dp[s] = res;
  return res;
}
void upd(pair<int, int> &a, pair<int, int> b, int c) {
  int f = b.second + c;
  int s = b.first;
  if (a.first < f) {
    a = make_pair(f, s);
  } else if (a.first == f) {
    a.second = min(a.second, s);
  }
}
pair<int, int> rec2(string s) {
  if (memo.find(s) != memo.end()) return memo[s];
  pair<int, int> res = make_pair(0, 0);
  int result = dp[s];
  for (char c = 'a'; c <= 'z'; ++c) {
    if (have(c)) {
      string fs = pushFront(c, s);
      string bs = pushBack(c, s);
      if (have(fs) && 1 - rec1(fs) == result) {
        upd(res, rec2(fs), cost(fs));
      }
      if (have(bs) && 1 - rec1(bs) == result) {
        upd(res, rec2(bs), cost(bs));
      }
    }
  }
  memo[s] = res;
  return res;
}
void solve() {
  cin >> n;
  for (int i = 0; i < n; ++i) {
    string s;
    cin >> s;
    vs.push_back(s);
  }
  if (rec1(""))
    cout << "First";
  else
    cout << "Second";
  cout << endl;
  pair<int, int> ans = rec2("");
  cout << ans.first << " " << ans.second;
}
int main() {
  solve();
  return 0;
}
