module forbidden_words_solution;
version = IO_FILES;
import std.stdio;
import std.string;

immutable string PROBLEM_NAME = "forbidden-words";
immutable int LET = 26;
immutable int MAX_S = 1 << LET;

bool [] f;
bool [] g;

bool solve ()
{
	foreach (i; 0..MAX_S)
	{
		foreach (j; 0..LET)
		{
			if (i & (1 << j))
			{
				f[i] |= f[i ^ (1 << j)];
			}
		}
	}
	debug {writeln (f);}

	g[] = false;
	foreach_reverse (i; 0..MAX_S)
	{
		g[i] &= !f[i];
		if (g[i] || f[i])
		{
			continue;
		}
		foreach (j; 0..LET)
		{
			if (i & (1 << j))
			{
				g[i ^ (1 << j)] = true;
			}
		}
	}
	debug {writeln (g);}

	return g[0];
}

void main ()
{
	version (IO_FILES)
	{
		stdin  = File (PROBLEM_NAME ~ ".in",  "rt");
		stdout = File (PROBLEM_NAME ~ ".out", "wt");
	}

	f = new bool [MAX_S];
	g = new bool [MAX_S];

	int n;
	while (readf (" %s ", &n) > 0)
	{
		f[] = false;
		foreach (i; 0..n)
		{
			auto t = readln ().strip ();
			int s = 0;
			foreach (c; t)
			{
				int d = c - 'a';
				s |= 1 << d;
			}
			f[s] = true;
		}

		writeln (solve () ? "First" : "Second");
	}
}
