c++ version of alex stepanov course in python (https://github.com/psoberoi/stepanov-algebra). The credit is for him, the mistakes are mine.