#include <iostream>
#include <vector>
#include <tuple>
int main() {
// V = number of vertices
// E = number of edges
int V, E;
int x, y, w;
std::cin >> V >> E;
std::vector <std::tuple <int, int, int> > edge_list_directed;
std::vector <std::tuple <int, int, int> > edge_list_undirected;
// assuming 0-based indexing of vertices
for(int i = 0; i < E; i++) {
std::cin >> x >> y >> w;
edge_list_directed.push_back((std::make_tuple(x, y, w))); // adding a single edge in directed
edge_list_undirected.push_back((std::make_tuple(x, y, w)));
edge_list_undirected.push_back((std::make_tuple(y, x, w))); // adding both the edges in undirected
}
// printing graph (showing only undirected but the code will be same for both)
for(int i = 0; i < edge_list_undirected.size(); i++) {
std::cout << "{" << std::get<0>(edge_list_undirected[i]) << ", "
<< std::get<1>(edge_list_undirected[i]) << ", "
<< std::get<2>(edge_list_undirected[i]) << "}" << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dHVwbGU+CgppbnQgbWFpbigpIHsKCQoJLy8gViA9IG51bWJlciBvZiB2ZXJ0aWNlcwoJLy8gRSA9IG51bWJlciBvZiBlZGdlcwoJaW50IFYsIEU7CglpbnQgeCwgeSwgdzsKCXN0ZDo6Y2luID4+IFYgPj4gRTsKCQoJc3RkOjp2ZWN0b3IgPHN0ZDo6dHVwbGUgPGludCwgaW50LCBpbnQ+ID4gZWRnZV9saXN0X2RpcmVjdGVkOwoJc3RkOjp2ZWN0b3IgPHN0ZDo6dHVwbGUgPGludCwgaW50LCBpbnQ+ID4gZWRnZV9saXN0X3VuZGlyZWN0ZWQ7CgkKCS8vIGFzc3VtaW5nIDAtYmFzZWQgaW5kZXhpbmcgb2YgdmVydGljZXMKCWZvcihpbnQgaSA9IDA7IGkgPCBFOyBpKyspIHsKCQlzdGQ6OmNpbiA+PiB4ID4+IHkgPj4gdzsKCQllZGdlX2xpc3RfZGlyZWN0ZWQucHVzaF9iYWNrKChzdGQ6Om1ha2VfdHVwbGUoeCwgeSwgdykpKTsJLy8gYWRkaW5nIGEgc2luZ2xlIGVkZ2UgaW4gZGlyZWN0ZWQKCQkKCQllZGdlX2xpc3RfdW5kaXJlY3RlZC5wdXNoX2JhY2soKHN0ZDo6bWFrZV90dXBsZSh4LCB5LCB3KSkpOwoJCWVkZ2VfbGlzdF91bmRpcmVjdGVkLnB1c2hfYmFjaygoc3RkOjptYWtlX3R1cGxlKHksIHgsIHcpKSk7CS8vIGFkZGluZyBib3RoIHRoZSBlZGdlcyBpbiB1bmRpcmVjdGVkCgl9CgkKCS8vIHByaW50aW5nIGdyYXBoIChzaG93aW5nIG9ubHkgdW5kaXJlY3RlZCBidXQgdGhlIGNvZGUgd2lsbCBiZSBzYW1lIGZvciBib3RoKQoJZm9yKGludCBpID0gMDsgaSA8IGVkZ2VfbGlzdF91bmRpcmVjdGVkLnNpemUoKTsgaSsrKSB7CgkJc3RkOjpjb3V0IDw8ICJ7IiA8PCBzdGQ6OmdldDwwPihlZGdlX2xpc3RfdW5kaXJlY3RlZFtpXSkgPDwgIiwgIgoJCQkgCQk8PCBzdGQ6OmdldDwxPihlZGdlX2xpc3RfdW5kaXJlY3RlZFtpXSkgPDwgIiwgIgoJCQkgCQk8PCBzdGQ6OmdldDwyPihlZGdlX2xpc3RfdW5kaXJlY3RlZFtpXSkgPDwgIn0iIDw8IHN0ZDo6ZW5kbDsKCX0KCXJldHVybiAwOwp9
{0, 1, 10}
{1, 0, 10}
{1, 2, 15}
{2, 1, 15}
{0, 2, 20}
{2, 0, 20}