#!/usr/bin/python

import sys
import io

definitionSet = set()
overridingSet = set()


with io.open(sys.argv[1], "rb", buffering=1024*1024) as txt:
    for line in txt:
    
        if line.startswith("definition:\t"):
            idx1 = line.find("\t")
            clazzName = line[idx1+1 : len(line)-1]
            definitionSet.add(clazzName)
            
        elif line.startswith("overriding:\t"):
            idx1 = line.find("\t")
            clazzName = line[idx1+1 : len(line)-1]
            overridingSet.add(clazzName)
            
for clazz in sorted(definitionSet - overridingSet):
    print clazz

# add an empty line at the end to make it easier for the removevirtuals plugin to mmap() the output file 
print