import java.util.*;
import java.io.*;
 
class Main
{
	public static void main
(String[] args
) {         IntegerType int1 = new IntegerType(1);
        IntegerType int2 = new IntegerType(1);
        Set<IntegerType> set1 = new HashSet<>();
        set1.add(int1);
        Set<IntegerType> set2 = new HashSet<>();
        set2.add(int2);
 
        System.
out.
println(set1.
equals(set2
));     }
}
class IntegerType {
 
        private int value;
 
        public IntegerType(int value) {
            this.value = value;
        }
 
            return this.value;
        }
 
        @Override
        public int hashCode() {
            final int prime = 31;
            int result = 1;
            result = prime * result + value;
            return result;
        }
 
        @Override
        public boolean equals
(Object o
) {             boolean result = false;
            if (o == null || o.getClass() != getClass()) {
                result = false;
            } else {
                IntegerType integerType = (IntegerType) o;
                if (this.value == integerType.value()) {
                    result = true;
                }
            }
            return result;
        }
}
				aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5pby4qOwoKY2xhc3MgTWFpbgp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgSW50ZWdlclR5cGUgaW50MSA9IG5ldyBJbnRlZ2VyVHlwZSgxKTsKICAgICAgICBJbnRlZ2VyVHlwZSBpbnQyID0gbmV3IEludGVnZXJUeXBlKDEpOwogICAgICAgIFNldDxJbnRlZ2VyVHlwZT4gc2V0MSA9IG5ldyBIYXNoU2V0PD4oKTsKICAgICAgICBzZXQxLmFkZChpbnQxKTsKICAgICAgICBTZXQ8SW50ZWdlclR5cGU+IHNldDIgPSBuZXcgSGFzaFNldDw+KCk7CiAgICAgICAgc2V0Mi5hZGQoaW50Mik7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihzZXQxLmVxdWFscyhzZXQyKSk7CiAgICB9Cn0KY2xhc3MgSW50ZWdlclR5cGUgewoKICAgICAgICBwcml2YXRlIGludCB2YWx1ZTsKCiAgICAgICAgcHVibGljIEludGVnZXJUeXBlKGludCB2YWx1ZSkgewogICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgSW50ZWdlciB2YWx1ZSgpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7CiAgICAgICAgfQoKICAgICAgICBAT3ZlcnJpZGUKICAgICAgICBwdWJsaWMgaW50IGhhc2hDb2RlKCkgewogICAgICAgICAgICBmaW5hbCBpbnQgcHJpbWUgPSAzMTsKICAgICAgICAgICAgaW50IHJlc3VsdCA9IDE7CiAgICAgICAgICAgIHJlc3VsdCA9IHByaW1lICogcmVzdWx0ICsgdmFsdWU7CiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgfQoKICAgICAgICBAT3ZlcnJpZGUKICAgICAgICBwdWJsaWMgYm9vbGVhbiBlcXVhbHMoT2JqZWN0IG8pIHsKICAgICAgICAgICAgYm9vbGVhbiByZXN1bHQgPSBmYWxzZTsKICAgICAgICAgICAgaWYgKG8gPT0gbnVsbCB8fCBvLmdldENsYXNzKCkgIT0gZ2V0Q2xhc3MoKSkgewogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBJbnRlZ2VyVHlwZSBpbnRlZ2VyVHlwZSA9IChJbnRlZ2VyVHlwZSkgbzsKICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlID09IGludGVnZXJUeXBlLnZhbHVlKCkpIHsKICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgfQp9