Simple C# Solution
\n    public class Solution\n    {\n        public int MaxArea(int h, int w, int[] horizontalCuts, int[] verticalCuts)\n        {\n            Array.Sort(horizo
```\n    public class Solution\n    {\n        public int MaxArea(int h, int w, int[] horizontalCuts, int[] verticalCuts)\n        {\n            Array.Sort(horizontalCuts);\n            Array.Sort(verticalCuts);\n\n            long maxHor = horizontalCuts[0];\n            long maxVert = verticalCuts[0];\n\n            for (int i = 1; i < horizontalCuts.Length; i++)\n            {\n                maxHor = Math.Max(maxHor, horizontalCuts[i] - horizontalCuts[i - 1]);\n            }\n            maxHor = Math.Max(maxHor, h - horizontalCuts[horizontalCuts.Length - 1]);\n\n            for (int i = 1; i < verticalCuts.Length; i++)\n            {\n                maxVert = Math.Max(maxVert, verticalCuts[i] - verticalCuts[i - 1]);\n            }\n\n            maxVert = Math.Max(maxVert, w - verticalCuts[verticalCuts.Length - 1]);\n\n            BigInteger hor = new BigInteger(maxHor);\n            BigInteger vert = new BigInteger(maxVert);\n            BigInteger sq = hor * vert;\n            sq = sq % 1_000_000_007;\n            return  (int)sq;\n        }\n    }\n```
[]