p4.cpp