@@ -0,0 +1,575 @@
+package org.psjava;%0A%0Aimport org.psjava.algo.math.PairHash;%0A%0Aimport java.util.Arrays;%0A%0Apublic class IntPair %7B%0A%0A    public final int v1, v2;%0A%0A    public IntPair(int v1, int v2) %7B%0A        this.v1 = v1;%0A        this.v2 = v2;%0A    %7D%0A%0A    @Override%0A    public int hashCode() %7B%0A        return PairHash.hash(v1, v2);%0A    %7D%0A%0A    @Override%0A    public boolean equals(Object obj) %7B%0A        return StrictEqualityTester.areEqual(this, obj, (a, b) -%3E a.v1 == b.v1 && a.v2 == b.v2);%0A    %7D%0A%0A    @Override%0A    public String toString() %7B%0A        return Arrays.asList(v1, v2).toString();%0A    %7D%0A%7D%0A

add util class - IntPair