-     #include <iostream> 
-     #include <vector> 
-   
-     class Node{ 
-         private: 
-             std::vector<int> connects; 
-             int action; 
-   
-         public: 
-             Node(int num){ 
-                 for(int i = 0; i < num; i++){ 
-                     connects.push_back(i); 
-                 } 
-   
-             } 
-         std::vector<int> getConn() 
-     	{ 
-     	    return connects; 
-     	} 
-     }; 
-   
-     class FSM{ 
-         private: 
-             std::vector<Node> nodeList; 
-         public: 
-             FSM(){} 
-     	void addNode(int size){ 
-     		Node l(size); 
-     		std::cout<<"temp_address "<<&l<<"\n";	 
-             nodeList.push_back(l);//use of default copy constructor 
-     	} 
-     	void printList(){ 
-     	    std::vector<int> p; 
-     	    for (int i=0; i<nodeList.size(); i++) 
-     		{ 
-     			std::cout<<"Node_arr_num "<<i<<" mem_address "<<&nodeList[i]<<"\nConnections:"; 
-     			p=nodeList[i].getConn(); 
-     	    	for (int j=0; j<p.size(); j++) 
-     				std::cout<<" "<<p[j];	 
-     			std::cout<<"\n"; 
-     		} 
-     	} 
-     }; 
-   
-     int main() 
-     { 
-     FSM f; 
-     f.addNode(5); 
-     f.addNode(10); 
-     f.addNode(3); 
-     f.printList(); 
-     return 0; 
-     } 
				ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlIDx2ZWN0b3I+CiAgICAKICAgIGNsYXNzIE5vZGV7CiAgICAgICAgcHJpdmF0ZToKICAgICAgICAgICAgc3RkOjp2ZWN0b3I8aW50PiBjb25uZWN0czsKICAgICAgICAgICAgaW50IGFjdGlvbjsKICAgIAogICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgTm9kZShpbnQgbnVtKXsKICAgICAgICAgICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCBudW07IGkrKyl7CiAgICAgICAgICAgICAgICAgICAgY29ubmVjdHMucHVzaF9iYWNrKGkpOwogICAgICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgIH0KICAgICAgICBzdGQ6OnZlY3RvcjxpbnQ+IGdldENvbm4oKQogICAgCXsKICAgIAkgICAgcmV0dXJuIGNvbm5lY3RzOwogICAgCX0KICAgIH07CiAgICAKICAgIGNsYXNzIEZTTXsKICAgICAgICBwcml2YXRlOgogICAgICAgICAgICBzdGQ6OnZlY3RvcjxOb2RlPiBub2RlTGlzdDsKICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgIEZTTSgpe30KICAgIAl2b2lkIGFkZE5vZGUoaW50IHNpemUpewogICAgCQlOb2RlIGwoc2l6ZSk7CiAgICAJCXN0ZDo6Y291dDw8InRlbXBfYWRkcmVzcyAiPDwmbDw8IlxuIjsJCiAgICAgICAgICAgIG5vZGVMaXN0LnB1c2hfYmFjayhsKTsvL3VzZSBvZiBkZWZhdWx0IGNvcHkgY29uc3RydWN0b3IKICAgIAl9CiAgICAJdm9pZCBwcmludExpc3QoKXsKICAgIAkgICAgc3RkOjp2ZWN0b3I8aW50PiBwOwogICAgCSAgICBmb3IgKGludCBpPTA7IGk8bm9kZUxpc3Quc2l6ZSgpOyBpKyspCiAgICAJCXsKICAgIAkJCXN0ZDo6Y291dDw8Ik5vZGVfYXJyX251bSAiPDxpPDwiIG1lbV9hZGRyZXNzICI8PCZub2RlTGlzdFtpXTw8IlxuQ29ubmVjdGlvbnM6IjsKICAgIAkJCXA9bm9kZUxpc3RbaV0uZ2V0Q29ubigpOwogICAgCSAgICAJZm9yIChpbnQgaj0wOyBqPHAuc2l6ZSgpOyBqKyspCiAgICAJCQkJc3RkOjpjb3V0PDwiICI8PHBbal07CQogICAgCQkJc3RkOjpjb3V0PDwiXG4iOwogICAgCQl9CiAgICAJfQogICAgfTsKICAgIAogICAgaW50IG1haW4oKQogICAgewogICAgRlNNIGY7CiAgICBmLmFkZE5vZGUoNSk7CiAgICBmLmFkZE5vZGUoMTApOwogICAgZi5hZGROb2RlKDMpOwogICAgZi5wcmludExpc3QoKTsKICAgIHJldHVybiAwOwogICAgfQ==