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

You are given a binary matrix matrix of size m x n, and you are allowed to rearrange the columns of the matrix in any order.
Return the area of the largest submatrix within matrix where every element of the submatrix is 1 after reordering the columns optimally.
 
Please complete the following python code precisely:
```python
class Solution:
    def largestSubmatrix(self, matrix: List[List[int]]) -> int:
```