class list_node { std::string data; std::shared_ptr next; public: list_node(std::string _st) : data(_st), next(nullptr) {}; list_n