class Test {
    static final int N = 100;
    static int iFld = 0;

    static int[] test() {
        int x = -4;
        int aI[] = new int[N];
        for (int k = 0; k < N; k++) {
            for (int i = 1; i < 63; i++) {
                aI[i] = 2;
                aI[(x >>> 1) % N] += 1F;
            }
            for (int i = 63; i > 3; --i) {
                x >>= iFld;
            }
        }
        return aI;

        //int sum = 0;
        //for (int i = 0; i < aI.length; i++) { sum += aI[i]; }
        //return sum;
    }

    public static int sum(int[] aI) {
        int sum = 0;
        for (int i = 0; i < aI.length; i++) { sum += aI[i]; }
        return sum;
    }

    public static void main() {
        int[] aIG = test();
        int gold = sum(aIG);
        for (int k = 0; k < 10; k++) {
            int[] aI = test();
            int val = sum(aI);
            System.out.println("sum: " + val);
            if (gold != val) {
                for (int i = 0; i < aI.length; i++) { System.out.println("at " + i + ": " + aIG[i] + " vs " + aI[i]); }
                throw new RuntimeException("wrong result: " + gold + " " + val);
            }
        }
    }
}
