This is my version of famous in 80th computer game - Akinator.
There are 3 main modes in my akinator: guess, define and compare mode. In guess mode akinator will try to guess subject that you desired. (You can answer yes/no) In define mode akinator will give a definition to subject you asked whether it finds it. In compare mode akinator will write which common 2 subjects have and how do they differ from each other.
For usage:
git clone https://github.com/kefirRzevo/Akinator.git
cd Akinator
make
./app tree.txt