#include <iostream>
using namespace std;
struct Edge{
int vert1;
int vert2;
int weight;
Edge* next;
};
Edge* append(Edge *head, int origin, int destination, int weight) {
Edge *temp = new Edge;
temp = head;
Edge *node = new Edge;
while (temp->next != NULL){
temp = temp->next;
}
node->vert1 = origin;
node->vert2 = destination;
node->weight = weight;
node->next = NULL;
if (head == 0) {
head = node;
}
else if (head != 0){
node = temp;
}
return head;
}
int main() {
// your code goes here
Edge* list = new Edge;
list = append(list,1,1,2);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEVkZ2V7CmludCB2ZXJ0MTsKaW50IHZlcnQyOwppbnQgd2VpZ2h0OwpFZGdlKiBuZXh0Owp9OwoKRWRnZSogYXBwZW5kKEVkZ2UgKmhlYWQsIGludCBvcmlnaW4sIGludCBkZXN0aW5hdGlvbiwgaW50IHdlaWdodCkgewogICAgRWRnZSAqdGVtcCA9IG5ldyBFZGdlOwogICAgdGVtcCA9IGhlYWQ7CiAgICBFZGdlICpub2RlID0gbmV3IEVkZ2U7CiAgICB3aGlsZSAodGVtcC0+bmV4dCAhPSBOVUxMKXsKICAgICAgICB0ZW1wID0gdGVtcC0+bmV4dDsKICAgIH0KICAgIG5vZGUtPnZlcnQxID0gb3JpZ2luOwogICAgbm9kZS0+dmVydDIgPSBkZXN0aW5hdGlvbjsKICAgIG5vZGUtPndlaWdodCA9IHdlaWdodDsKICAgIG5vZGUtPm5leHQgPSBOVUxMOwogICAgaWYgKGhlYWQgPT0gMCkgewogICAgICAgIGhlYWQgPSBub2RlOwogICAgfQogICAgZWxzZSBpZiAoaGVhZCAhPSAwKXsKICAgICAgICBub2RlID0gdGVtcDsKICAgIH0KICAgIHJldHVybiBoZWFkOwp9CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCUVkZ2UqIGxpc3QgPSBuZXcgRWRnZTsKCWxpc3QgPSBhcHBlbmQobGlzdCwxLDEsMik7CglyZXR1cm4gMDsKfQ==