import sys def dec2hex(d): return "%X" % d def hex2dec(h): return int('0x' + h, 16) def script_range_to_inclusive_integer_range(script_range): start, dotdot, end = script_range.partition('..') start, end = map(hex2dec, [start,end]) if end: return range(start, end+1) else: return [start] lines = open('Scripts.txt').readlines() scripts = {} for line in lines: if line.startswith('#'): continue content, hash, comment = line.partition('#') content = content.strip() script_range, semicolon, script_name = content.partition(';') script_range, script_name = script_range.strip(), script_name.strip() for n in script_range_to_inclusive_integer_range(script_range): scripts[n] = script_name if __name__ == "__main__": content = sys.stdin.read().decode('utf-8') text_scripts = ' '.join(sorted(set([scripts[ord(letter)] for letter in content]))) print text_scripts