```
public void setZeroes(int[][] matrix) {
long zero_rows = 0, zero_columns = 0;
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
if (matrix[i][j] == 0) {
zero_rows |= (1 << i);
zero_columns |= (1 << j);
}
}
}
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
if (((zero_rows >> i) & 1) > 0 || ((zero_columns >> j) & 1) > 0) {
matrix[i][j] = 0;
}
}
}
}
```

I didn't pass the case 152.

151 / 154 test cases passed.

But there are only 50 rows and 51 columns in this case.

Is there anybody can help me with this problem?

Thanks!