class Ideone {
private Node head, tail;
public static void main
(String[] args
) { Ideone ideone = new Ideone();
ideone.add("HOLA");
ideone.add("MUNDO");
}
public void add
(String element
) { Node node = new Node(element);
if (tail == null) {
head = tail = node;
} else {
head.previous = node;
node.next = head;
head = node;
}
}
StringBuilder builder = new StringBuilder();
Node current = head;
while(current != null) {
builder.append(current.element);
current = current.next;
}
return builder.toString();
}
private static class Node {
Node previous, next;
this.element = element;
}
}
}
Y2xhc3MgSWRlb25lIHsKCXByaXZhdGUgTm9kZSBoZWFkLCB0YWlsOwoJCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgIHsKCQlJZGVvbmUgaWRlb25lID0gbmV3IElkZW9uZSgpOwoJCQoJCWlkZW9uZS5hZGQoIkhPTEEiKTsKCQlpZGVvbmUuYWRkKCJNVU5ETyIpOwoJCQoJCVN5c3RlbS5vdXQucHJpbnRsbihpZGVvbmUpOwoJfQoJCglwdWJsaWMgdm9pZCBhZGQoU3RyaW5nIGVsZW1lbnQpIHsgICAgIAogICAgCU5vZGUgbm9kZSA9IG5ldyBOb2RlKGVsZW1lbnQpOyAKICAgIAkKICAgIAlpZiAodGFpbCA9PSBudWxsKSB7CgkgICAgICAgIGhlYWQgPSB0YWlsID0gbm9kZTsgCgkgICAgfSBlbHNlIHsKCSAgICAJaGVhZC5wcmV2aW91cyA9IG5vZGU7CiAgICAgICAgCW5vZGUubmV4dCA9IGhlYWQ7CiAgICAgICAgCWhlYWQgPSBub2RlOwogICAgCX0KCX0KCQoJcHVibGljIFN0cmluZyB0b1N0cmluZygpIHsKCQlTdHJpbmdCdWlsZGVyIGJ1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcigpOwoJCQoJCU5vZGUgY3VycmVudCA9IGhlYWQ7CgkJd2hpbGUoY3VycmVudCAhPSBudWxsKSB7CgkJCWJ1aWxkZXIuYXBwZW5kKGN1cnJlbnQuZWxlbWVudCk7CgkJCWN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7CgkJfQoJCQoJCXJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7Cgl9CgoJcHJpdmF0ZSBzdGF0aWMgY2xhc3MgTm9kZSB7ICAKICAgICAgICBTdHJpbmcgZWxlbWVudDsKICAgICAgICBOb2RlIHByZXZpb3VzLCBuZXh0OwoKICAgICAgICBwdWJsaWMgTm9kZShTdHJpbmcgZWxlbWVudCkgewogICAgICAgICAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50OwogICAgCX0KCX0KfQ==