#include <memory>


std::shared_ptr<int> factory(int arg)
{
	return std::make_shared<int>(arg);
}

std::shared_ptr<int> use_factory(int arg)
{
	auto p = factory(arg);
	return p;
}

int main(int argc, char *argv[])
{
	use_factory(14);
}