#include <iostream>
#include <memory>
using namespace std;
template <class T>
class PointCloud {
public:
using Ptr = shared_ptr<T>;
};
class A{};
int main() {
PointCloud<A>::Ptr p = PointCloud<A>::Ptr(new A);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGUgPGNsYXNzIFQ+CmNsYXNzIFBvaW50Q2xvdWQgewpwdWJsaWM6IAogICAgdXNpbmcgUHRyID0gc2hhcmVkX3B0cjxUPjsKfTsgCgpjbGFzcyBBe307CgppbnQgbWFpbigpIHsKCVBvaW50Q2xvdWQ8QT46OlB0ciBwID0gUG9pbnRDbG91ZDxBPjo6UHRyKG5ldyBBKTsgCglyZXR1cm4gMDsKfQ==