#define IO_FILES
#include <cstdio>
#include <cstring>

#define PROBLEM_NAME "forbidden-words"

int const LET = 26;
int const LOG_LOG = 5;
int const LOG_S = LET - LOG_LOG;
int const MAX_S = 1 << LOG_S;
int const MED = 16;
int const BITS16 = 1 << MED;
int const MAX_LEN = 3000000;

unsigned const C0 = 0x55555555u;
unsigned const C1 = 0x33333333u;
unsigned const C2 = 0x0F0F0F0Fu;
unsigned const C3 = 0x00FF00FFu;
unsigned const C4 = 0x0000FFFFu;

unsigned f [MAX_S];
unsigned hi [BITS16];
unsigned lo [BITS16];
char t [MAX_LEN + 2];

void prepare_shift (unsigned * arr, int shift)
{
	for (int i = 0; i < BITS16; i++)
	{
		unsigned x = i << shift;
		for (int j = shift + MED - 1; j >= shift; j--)
		{
			if (!(x & (1u << j)))
			{
				for (int k = 0; k < LOG_LOG; k++)
				{
					if (j & (1u << k))
					{
						x |= 1 << (j ^ (1u << k));
					}
				}
			}
		}
		arr[i] = x;
	}
}

void prepare (void)
{
	prepare_shift (hi, 16);
	prepare_shift (lo,  0);
}

bool solve (void)
{
        for (int i = 0; i < MAX_S; i++)
	{
		f[i] |= (f[i] & C0) <<  1;
		f[i] |= (f[i] & C1) <<  2;
		f[i] |= (f[i] & C2) <<  4;
		f[i] |= (f[i] & C3) <<  8;
		f[i] |= (f[i] & C4) << 16;
		for (int j = 0; j < LOG_S; j++)
		{
			if (i & (1u << j))
			{
				f[i] |= f[i ^ (1u << j)];
			}
		}
	}

	for (int i = MAX_S - 1; i >= 0; i--)
	{
		f[i] |= hi[f[i] >> MED];
		f[i] |= lo[f[i] & (BITS16 - 1)];

		unsigned t = ~f[i];
		for (int j = 0; j < LOG_S; j++)
		{
			if (i & (1u << j))
			{
				f[i ^ (1u << j)] |= t;
			}
		}
	}

	return f[0] & 1u;
}

int main (void)
{
#ifdef IO_FILES
	freopen (PROBLEM_NAME ".in",  "rt", stdin);
	freopen (PROBLEM_NAME ".out", "wt", stdout);
#endif

	prepare ();

	int n;
	while (scanf (" %d", &n) > 0)
	{
		memset (f, 0, sizeof (f));
		for (int i = 0; i < n; i++)
		{
			scanf (" %3000000s", t);
			int k = strlen (t);
			int s = 0;
			for (int j = 0; j < k; j++)
			{
				int d = t[j] - 'a';
				s |= 1u << d;
			}
			f[s >> 5] |= 1u << (s & 31);
		}

		printf ("%s\n", solve () ? "First" : "Second");
	}
	
	return 0;
}
