from __future__ import with_statement import sys import readline def powerset(L): return ((L[j] for j in xrange(len(L)) if (1< ') letters = filter(str.isalpha, letters.upper()) for p in powerset(letters): key = tuple(sorted(p)) words += d.get(key, []) words.sort(key=len) longest = len(words[-1]) # Only display the longest and next-to-longest words for word in words: if len(word) >= longest - 1: print word.lower() except (EOFError, KeyboardInterrupt): pass