import string, sys

def shortenNames(namesList, maxSize):
    lenList = map(lambda x: len(x), namesList)
    
    if max(lenList) < maxSize:
        return []
    #endif

    (subSeqMap, sslen) = ({}, maxSize)
    for name in namesList:
        for i in range((len(name) - sslen)+1):
            val = subSeqMap.get(name[i:i+sslen], 0)
            subSeqMap[name[i:i+sslen]] = val+1
        #end
    #end for

    sNamesList = []
    for name in namesList:
        (nLenList, newName) = ([], [])
        for i in range((len(name) - sslen)+1):
            nLenList.append(subSeqMap[name[i:i+sslen]])
        #end for

        minI = nLenList.index(min(nLenList))
        if minI == 0:
            newName = name[:sslen] + '..'
        elif minI == len(nLenList)-1:
            newName = '%s..%s'%(name[0], name[minI:minI+sslen])
        else:
            newName = '%s..%s..'%(name[0], name[minI:minI+sslen])
        #endfor
        sNamesList.append(newName)
    #end for
    return sNamesList


if __name__ == '__main__':
	namesList = []
	for line in file(sys.argv[1]):
		namesList.append(string.strip(line))

	print string.join(shortenNames(namesList, 6), '\n')
		
