modified:   cat.cpp