Easy Soln
Intuition\nFor each square:\na. Find the maximum height of intersecting squares\nb. Calculate the height of the new square based on intersections\nc. Track the 
# Intuition\nFor each square:\na. Find the maximum height of intersecting squares\nb. Calculate the height of the new square based on intersections\nc. Track the overall maximum height\n\n# Approach\n1. Tracking intersections by checking x-coordinate ranges.\n2. Dynamically updating maximum height.\n3. Using set to store placed squares with their coordinates and heights.\n\n# Complexity\n- Time complexity:\n    $$O(n\xB2)$$\n\n# Code\n```python3 []\nclass Solution:\n    def fallingSquares(self, positions: List[List[int]]) -> List[int]:\n        heightSet=set() #(x1,x2,h)\n        res=[]\n        for x,h in positions:\n            currHeight=0\n            maxHeight=0\n            x1,x2=x,x+h\n            # print(x1,x2,heightSet)\n            for s in heightSet:\n                maxHeight=max(maxHeight,s[2])\n                if not (s[1]<=x1 or s[0]>=x2):\n                    # print(f\'s1,s2={s[0]},{s[1]} | x1,x2={x1},{x2} | sH,h={s[2]},{h}\')\n                    currHeight = max(currHeight,s[2])\n            heightSet.add((x1,x2,currHeight+h))\n            res.append(max(currHeight+h,maxHeight))\n        return res\n```
['Python3']