fp = io.open( "dictionary.txt" ) maxlen = 0 list = {} for w in fp:lines() do ordered = true for l = 2, string.len(w) do if string.byte( w, l-1 ) > string.byte( w, l ) then ordered = false break end end if ordered then if string.len(w) > maxlen then list = {} list[1] = w maxlen = string.len(w) elseif string.len(w) == maxlen then list[#list+1] = w end end end for _, w in pairs(list) do print( w ) end fp:close()