spaces around PRIszu to conform with C++11
changed deprecated std::auto_ptr to std::unique_ptr