added cantor.cpp