public static void applyBookSol(int[][] input) {
        BitSet rows = new BitSet(input.length);
        BitSet cols = new BitSet(input[0].length);

        for (int i = 0; i < input.length; i++) {
            for (int j = 0; j < input[0].length; j++) {
                if (input[i][j] == 0) {
                    rows.set(i);
                    cols.set(j);
                }
            }
        }

        for (int i = 0; i < input.length; i++) {
            for (int j = 0; j < input[0].length; j++) {
                if (rows.get(i) || cols.get(j)) {
                    input[i][j] = 0;
                }
            }
        }
    }