import java.io.*;
import java.util.*;

public class identity {
  public static void main(String[] args){
    int rows;
    try{
	BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
	Vector<String> v = new Vector<String>();
	Vector<String> results = new Vector<String>();
	String tmp = "",shortest;
	int max, longest=0;
	boolean end = false;
	while( (rows=Integer.parseInt(in.readLine())) != 0){
		for(int i = 0; i<rows; i++){
			v.add(in.readLine());
		}
		end = false;
		longest = 0;
		shortest = getShortest(v);
		max = shortest.length();
		for(int j = max; j > 0 && !end; j--){

			for(int i=0; i<=max-j && !end; i++){
				tmp = shortest.substring(i,j+i);

				if( find(tmp, v) ){
					if(longest <= tmp.length()){
						results.add(tmp);
						longest = tmp.length();
					}else{
						end = true;					
					}					
				}
			}
		}
		if(results.size() > 0){
			Collections.sort(results);
			System.out.println(results.get(0));
		}else
			System.out.println("IDENTITY LOST");
		results.clear();
		v.clear();
	}	
	
	

    }catch(Exception e){System.out.println(e.getMessage());}
    
  }

  private static String getShortest(Vector<String> v){
	String str,res = "";
	int l = Integer.MAX_VALUE;
	int idx = -1;
	for(int i = 0; i<v.size(); i++){
		str = v.get(i);
		if(l > str.length()){
			res = str;
			l = str.length();
			idx = i;
		}
	}
	v.remove(idx);
	return res;
  }

  private static boolean find(String s, Vector<String> v){
	boolean res = true;
  	for(String str: v){
		res = str.indexOf(s) >= 0 ? true : false;
		if(!res) return res;
	}
	return res;
  }
}
