public class Euler86 {
    public static void main(String[] args) {
        int target = 1000000, total = 0;
        for (int m = 1;; m++) {
            for (int s = 2; s <= 2 * m; s++) {
                int val = m * m + s * s;
                int r = (int) Math.sqrt(val);
                if (r * r != val)
                    continue;
                int lo = Math.max(1, s - m), hi = Math.min(m, s / 2);
                if (hi >= lo)
                    total += hi - lo + 1;
            }
            if (total > target) {
                System.out.println(m);
                return;
            }
        }
    }
}
