Simple Java Solution
The result will be :\n\nres = (Maximum difference between consecutive horizontal cuts) * (Maximum difference between consecutive vertical cuts)\n\nNote : There 
The result will be :\n\nres = (Maximum difference between consecutive horizontal cuts) * (Maximum difference between consecutive vertical cuts)\n\nNote : There are two additional cuts which we need to include\n\n1. With Horizontal cuts : 0 and h\n2. With Vertical cuts : 0 and w\n\n```\nclass Solution {\n    public int maxArea(int h, int w, int[] horizontalCuts, int[] verticalCuts) {\n        \n        Arrays.sort(horizontalCuts);\n        Arrays.sort(verticalCuts);\n        \n        int hl = horizontalCuts.length;\n        int vl = verticalCuts.length;\n        \n        // horizontally\n        \n        int maxHorizontalDiff = horizontalCuts[0];\n        \n        for(int i = 1; i < hl; i++){\n            \n            maxHorizontalDiff = Math.max(maxHorizontalDiff, horizontalCuts[i] - horizontalCuts[i - 1]);\n        }\n        \n        maxHorizontalDiff = Math.max(maxHorizontalDiff, h - horizontalCuts[hl - 1]);\n        \n        // vertically\n        \n        int maxVerticalDiff = verticalCuts[0];\n        \n        for(int i = 1; i < vl; i++){\n            \n            maxVerticalDiff = Math.max(maxVerticalDiff, verticalCuts[i] - verticalCuts[i - 1]);\n        }\n        \n        maxVerticalDiff = Math.max(maxVerticalDiff, w - verticalCuts[vl - 1]);\n        \n        int mod = 1000_000_007;\n        \n        long res = ((long)maxHorizontalDiff * maxVerticalDiff) % mod;\n        \n        return (int)res;\n    }\n}\n```
[]