Python || Explanation || Fast
Maximum area we get when we get maximum width and maximum height. Also here height and width are difference between adjacent cuts. So we find them and multiply 
Maximum area we get when we get maximum width and maximum height. Also here height and width are difference between adjacent cuts. So we find them and multiply to get max area.\n\n\n```\nclass Solution:\n    def maxArea(self, h: int, w: int, horizontalCuts: List[int], verticalCuts: List[int]) -> int:\n        maxH,maxW=-1,-1\n        horizontalCuts.sort()\n        hc=[0]+horizontalCuts+[h]\n        verticalCuts.sort()\n        vc=[0]+verticalCuts+[w]\n               \n        nH=len(hc)\n        for  i in range(1,nH):\n            maxH=max(maxH ,hc[i]-hc[i-1] )\n        \n        nw=len(vc)\n        for  i in range(1,nw):\n            maxW=max(maxW ,vc[i]-vc[i-1] )\n            \n        \n        return (maxH*maxW % (10**9 + 7))\n```
['Greedy', 'Python', 'Python3']