Please solve the programming task below using a self-contained code snippet in a markdown code block.

There is an m x n matrix that is initialized to all 0's. There is also a 2D array indices where each indices[i] = [ri, ci] represents a 0-indexed location to perform some increment operations on the matrix.
For each location indices[i], do both of the following:

Increment all the cells on row ri.
Increment all the cells on column ci.

Given m, n, and indices, return the number of odd-valued cells in the matrix after applying the increment to all locations in indices.
 
Please complete the following python code precisely:
```python
class Solution:
    def oddCells(self, m: int, n: int, indices: List[List[int]]) -> int:
```