import java.util.*;
import java.io.*;
class Main
{
{
java.util.ArrayList<String> list1 = new java.util.ArrayList<String>();
while (true){
if(s == null){
break;
}
list1.add(s);
}
}
// ここまで前座
ArrayList<String> list2 = new ArrayList<String>(new HashSet<String>(list1));
// java.util.Collections.reverseとか使いたければお好きなように。
// http://d...content-available-to-author-only...e.com/javase/7/docs/api/java/util/Collections.html#reverse%28java.util.List%29
// java.util.Collections.reverse(list2);
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5pby4qOwoKY2xhc3MgTWFpbgp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCgkJamF2YS51dGlsLkFycmF5TGlzdDxTdHJpbmc+IGxpc3QxID0gbmV3IGphdmEudXRpbC5BcnJheUxpc3Q8U3RyaW5nPigpOwoKCgkJamF2YS5pby5CdWZmZXJlZFJlYWRlciByID0gbmV3IGphdmEuaW8uQnVmZmVyZWRSZWFkZXIgKG5ldyBqYXZhLmlvLklucHV0U3RyZWFtUmVhZGVyIChTeXN0ZW0uaW4pKTsKCQl3aGlsZSAodHJ1ZSl7CgkJCVN0cmluZyBzID0gci5yZWFkTGluZSgpOwoJCQlpZihzID09IG51bGwpewoJCQkJYnJlYWs7CgkJCX0KCQkJbGlzdDEuYWRkKHMpOwoJCX0KCgkJZm9yKFN0cmluZyBzMTpsaXN0MSl7CgkJCVN5c3RlbS5vdXQucHJpbnRsbihzMSk7CgkJfQoJCVN5c3RlbS5vdXQucHJpbnRsbigiPT09PSIpOwoJCS8vIOOBk+OBk+OBvuOBp+WJjeW6pwoKCQlBcnJheUxpc3Q8U3RyaW5nPiBsaXN0MiA9IG5ldyBBcnJheUxpc3Q8U3RyaW5nPihuZXcgSGFzaFNldDxTdHJpbmc+KGxpc3QxKSk7CgkJLy8gamF2YS51dGlsLkNvbGxlY3Rpb25zLnJldmVyc2XjgajjgYvkvb/jgYTjgZ/jgZHjgozjgbDjgYrlpb3jgY3jgarjgojjgYbjgavjgIIKCQkvLyBodHRwOi8vZC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5jb20vamF2YXNlLzcvZG9jcy9hcGkvamF2YS91dGlsL0NvbGxlY3Rpb25zLmh0bWwjcmV2ZXJzZSUyOGphdmEudXRpbC5MaXN0JTI5CgoJCS8vIGphdmEudXRpbC5Db2xsZWN0aW9ucy5yZXZlcnNlKGxpc3QyKTsKCgkJZm9yKFN0cmluZyBzMTpsaXN0Mil7CgkJCVN5c3RlbS5vdXQucHJpbnRsbihzMSk7CgkJfQoJCVN5c3RlbS5vdXQucHJpbnRsbigiPT09PSIpOwkJCgkJCgoJfQp9