#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
using namespace std;
ifstream fin("date.in");
ofstream fout("date.out");
int n;
bool mat[105][105];
string m[105], cop;

bool cmp(string a, string b)
{
    return a.size() > b.size();
}
void afis()
{
    for(int i =1 ;i<=n;i++){
        for(int j=0;j<m[i].size();j++)
            cout<<mat[i][j];cout<<endl;}
}

int main()
{
    cin >> n;

    for(int  i = 1; i <= n; i++)
    {
        cin >> m[i];
    }
    sort(m + 1, m + n + 1, cmp);


    string a = "ABCDEFG";

   // cout << a.erase(2,3);



    for(int  i = 1; i <= n; i++)
    {
        for(int j = i + 1; j <= n; j++)
        {
            int poz = m[i].find(m[j]);
            string cop = m[i];
            if(poz < 105 && poz >= 0)
            {
                //cout << m[i] << ' '<<m[j]<<' '<<poz<<endl;

                int lastpoz = 0;
                while(poz < 105 && poz >= 0)
                {
                    for(int k = poz; k < poz + m[j].size();k++)
                    {
                        mat[i][k + lastpoz] = 1;

                    }
                    lastpoz += m[j].size();
                    cop = cop.erase(poz,m[j].size());
                    //cout << "    "<<cop<<' '<<m[j].size() <<' '<<m[j]<<endl;
                    poz = cop.find(m[j]);
                }


                bool ok = 1;
                for(int k = 0; k < m[i].size();k++)
                    if(mat[i][k] == 0)
                    {
                        ok = 0;
                        k = m[i].size()+5;
                    }

                if(ok == 1)
                {
                    cout << m[i];

                    return 0;
                }
            }
        }
    }



    cout << "-1";

    return 0;
}