/* package whatever; // don't place package name! */
 
import java.util.*;
import java.lang.*;
import java.io.*;
 
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
 
			this.nome = nome;
		}
 
	{
		Ideone a = new Ideone("AAA");
		Ideone b = new Ideone("BBB");
		Ideone c = new Ideone("CCC");
		Ideone copiaa = new Ideone("AAA");
 
		System.
out.
println("a & b :" + a.
equals(b
)); 		System.
out.
println("a & copia a :" + a.
equals(copiaa
));  
		List<Ideone> lista = new ArrayList<Ideone>();
 
		lista.add(a);
		lista.add(b);
 
		System.
out.
println("contains a :" + lista.
contains(a
)); 		System.
out.
println("contains c :" + lista.
contains(c
)); 		System.
out.
println("contains a em copia a :" + lista.
contains(copiaa
)); 	}
 
	@Override
	public boolean equals
(Object other
){ 		if (!(other instanceof Ideone)){
			return false;
		}
 
		if (other == this){
			return true;
		}
 
		Ideone temp = (Ideone) other;
 
		return (this.nome.equals(temp.nome));
	}
 
}
				LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCVN0cmluZyBub21lOwoJCglwdWJsaWMgSWRlb25lKFN0cmluZyBub21lKXsKCQkJdGhpcy5ub21lID0gbm9tZTsKCQl9CgoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJSWRlb25lIGEgPSBuZXcgSWRlb25lKCJBQUEiKTsKCQlJZGVvbmUgYiA9IG5ldyBJZGVvbmUoIkJCQiIpOwoJCUlkZW9uZSBjID0gbmV3IElkZW9uZSgiQ0NDIik7CgkJSWRlb25lIGNvcGlhYSA9IG5ldyBJZGVvbmUoIkFBQSIpOwoJCQoJCVN5c3RlbS5vdXQucHJpbnRsbigiYSAmIGIgOiIgKyBhLmVxdWFscyhiKSk7CgkJU3lzdGVtLm91dC5wcmludGxuKCJhICYgY29waWEgYSA6IiArIGEuZXF1YWxzKGNvcGlhYSkpOwoJCQoJCUxpc3Q8SWRlb25lPiBsaXN0YSA9IG5ldyBBcnJheUxpc3Q8SWRlb25lPigpOwoJCQoJCWxpc3RhLmFkZChhKTsKCQlsaXN0YS5hZGQoYik7CgkJCgkJU3lzdGVtLm91dC5wcmludGxuKCJjb250YWlucyBhIDoiICsgbGlzdGEuY29udGFpbnMoYSkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigiY29udGFpbnMgYyA6IiArIGxpc3RhLmNvbnRhaW5zKGMpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oImNvbnRhaW5zIGEgZW0gY29waWEgYSA6IiArIGxpc3RhLmNvbnRhaW5zKGNvcGlhYSkpOwoJfQoKCUBPdmVycmlkZQoJcHVibGljIGJvb2xlYW4gZXF1YWxzKE9iamVjdCBvdGhlcil7CgkJaWYgKCEob3RoZXIgaW5zdGFuY2VvZiBJZGVvbmUpKXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJaWYgKG90aGVyID09IHRoaXMpewoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgkJCgkJSWRlb25lIHRlbXAgPSAoSWRlb25lKSBvdGhlcjsKCQkKCQlyZXR1cm4gKHRoaXMubm9tZS5lcXVhbHModGVtcC5ub21lKSk7Cgl9Cgp9