import java.util.*;
import java.lang.*;
import java.io.*;
class MyList<T>{
private class Node{
public int No;
public T Value;
public Node Next;
public Node(T value){
this.No = 0;
this.Value = value;
this.Next = null;
}
}
private int _count;
private Node _root;
public MyList(){
this._count = 0;
this._root = null;
}
public void Add(T value){
Node newNode = new Node(value);
newNode.No = this._count;
if(this._root != null){
newNode.Next = this._root;
this._root = newNode;
}
else this._root = newNode;
this._count += 1;
}
public T GetItem(int No){
Node temp = this._root;
while(temp != null){
if(temp.No == No) return temp.Value;
temp = temp.Next;
}
return null;
}
}
class Person{
this.Surname = surname;
}
}
class Ideone
{
{
MyList<Person> persons = new MyList<Person>();
persons.Add(new Person("Tomek", "Tomkowski"));
persons.Add(new Person("Karolina", "Karolinowska"));
persons.Add(new Person("Kasia", "Kasiowska"));
persons.Add(new Person("Maciek", "Maciowski"));
Person selected = persons.GetItem(2);
System.
out.
println(selected.
Name + " " + selected.
Surname); }
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgoKY2xhc3MgTXlMaXN0PFQ+ewoJcHJpdmF0ZSBjbGFzcyBOb2RlewoJCXB1YmxpYyBpbnQgTm87CgkJcHVibGljIFQgVmFsdWU7CgkJcHVibGljIE5vZGUgTmV4dDsKCQkKCQlwdWJsaWMgTm9kZShUIHZhbHVlKXsKCQkJdGhpcy5ObyA9IDA7CgkJCXRoaXMuVmFsdWUgPSB2YWx1ZTsKCQkJdGhpcy5OZXh0ID0gbnVsbDsKCQl9Cgl9CgkKCXByaXZhdGUgaW50IF9jb3VudDsKCXByaXZhdGUgTm9kZSBfcm9vdDsKCQoJcHVibGljIE15TGlzdCgpewoJCXRoaXMuX2NvdW50ID0gMDsKCQl0aGlzLl9yb290ID0gbnVsbDsKCX0KCQoJcHVibGljIHZvaWQgQWRkKFQgdmFsdWUpewoJCU5vZGUgbmV3Tm9kZSA9IG5ldyBOb2RlKHZhbHVlKTsKCQluZXdOb2RlLk5vID0gdGhpcy5fY291bnQ7CgkJCgkJaWYodGhpcy5fcm9vdCAhPSBudWxsKXsKCQkJbmV3Tm9kZS5OZXh0ID0gdGhpcy5fcm9vdDsKCQkJdGhpcy5fcm9vdCA9IG5ld05vZGU7CgkJfQoJCWVsc2UgdGhpcy5fcm9vdCA9IG5ld05vZGU7CgkJdGhpcy5fY291bnQgKz0gMTsKCX0KCQoJcHVibGljIFQgR2V0SXRlbShpbnQgTm8pewoJCU5vZGUgdGVtcCA9IHRoaXMuX3Jvb3Q7CgkJd2hpbGUodGVtcCAhPSBudWxsKXsKCQkJaWYodGVtcC5ObyA9PSBObykgcmV0dXJuIHRlbXAuVmFsdWU7CgkJCXRlbXAgPSB0ZW1wLk5leHQ7CgkJfQoJCXJldHVybiBudWxsOwoJfQp9CgpjbGFzcyBQZXJzb257CglwdWJsaWMgU3RyaW5nIE5hbWU7CglwdWJsaWMgU3RyaW5nIFN1cm5hbWU7CglwdWJsaWMgUGVyc29uKFN0cmluZyBuYW1lLCBTdHJpbmcgc3VybmFtZSl7CgkJdGhpcy5OYW1lID0gbmFtZTsKCQl0aGlzLlN1cm5hbWUgPSBzdXJuYW1lOwoJfQp9CgpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJTXlMaXN0PFBlcnNvbj4gcGVyc29ucyA9IG5ldyBNeUxpc3Q8UGVyc29uPigpOwoJCXBlcnNvbnMuQWRkKG5ldyBQZXJzb24oIlRvbWVrIiwgIlRvbWtvd3NraSIpKTsKCQlwZXJzb25zLkFkZChuZXcgUGVyc29uKCJLYXJvbGluYSIsICJLYXJvbGlub3dza2EiKSk7CgkJcGVyc29ucy5BZGQobmV3IFBlcnNvbigiS2FzaWEiLCAiS2FzaW93c2thIikpOwoJCXBlcnNvbnMuQWRkKG5ldyBQZXJzb24oIk1hY2llayIsICJNYWNpb3dza2kiKSk7CgkJCgkJUGVyc29uIHNlbGVjdGVkID0gcGVyc29ucy5HZXRJdGVtKDIpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihzZWxlY3RlZC5OYW1lICsgIiAiICsgc2VsZWN0ZWQuU3VybmFtZSk7Cgl9Cn0=