class node {
element data;
node* next;
public: element& get_at(int index) {
if (index == 0)
return data;
else {
if (next == null)
next = new node;
return next->get_at(index-1);
}
}
}
Y2xhc3Mgbm9kZSB7CiAgICBlbGVtZW50IGRhdGE7CiAgICBub2RlKiBuZXh0OwogIAoKICAgIHB1YmxpYzogZWxlbWVudCYgZ2V0X2F0KGludCBpbmRleCkgeyAKICAgICAgICBpZiAoaW5kZXggPT0gMCkKICAgICAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGlmIChuZXh0ID09IG51bGwpCiAgICAgICAgICAgICAgICBuZXh0ID0gbmV3IG5vZGU7CiAgICAgICAgICAgIHJldHVybiBuZXh0LT5nZXRfYXQoaW5kZXgtMSk7CiAgICAgICAgfQogICAgfQp9