add p3.cpp