Easy sol^n
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution {\npublic:\n    long long largestSquareArea(vector<vector<int>>& bottomLeft, vector<vector<int>>& topRight) {\n        long long ans=0;\n        for(int i=0;i<bottomLeft.size();i++)\n        {\n            for(int j=0;j<bottomLeft.size();j++)\n            {\n                 if(i!=j)\n                 {\n                    long long row=0;\n                    long long col=0;\n                    int t=0;\n                    if(bottomLeft[i][0]<bottomLeft[j][0])\n                    {\n                      if(bottomLeft[j][0]<=topRight[i][0]&&topRight[i][0]<=topRight[j][0])\n                      {\n                           row=topRight[i][0]-bottomLeft[j][0];\n                           t=1;\n                      }\n                      else if(bottomLeft[j][0]<=topRight[i][0]&&topRight[i][0]>=topRight[j][0])\n                      {\n                          row=topRight[j][0]-bottomLeft[j][0];\n                          t=1;\n                      }\n                      else\n                      {\n                          t=0;\n                      }\n                    }\n                    else\n                    {\n                      if(bottomLeft[i][0]<=topRight[j][0]&&topRight[j][0]<=topRight[i][0])\n                      {\n                           row=topRight[j][0]-bottomLeft[i][0];\n                           t=1;\n                      }\n                      else if(bottomLeft[i][0]<=topRight[j][0]&&topRight[j][0]>=topRight[i][0])\n                      {\n                          row=topRight[i][0]-bottomLeft[i][0];\n                          t=1;\n                      }\n                      else\n                      {\n                          t=0;\n                      }\n                    }\n                    if(t==1)\n                    {\n                      if(bottomLeft[i][1]<bottomLeft[j][1])\n                    {\n                      if(bottomLeft[j][1]<=topRight[i][1]&&topRight[i][1]<=topRight[j][1])\n                      {\n                           col=topRight[i][1]-bottomLeft[j][1];\n                           t=-1;\n                      }\n                      else if(bottomLeft[j][1]<=topRight[i][1]&&topRight[i][1]>=topRight[j][1])\n                      {\n                          row=topRight[j][1]-bottomLeft[j][1];\n                          t=-1;\n                      }\n                      else\n                      {\n                          t=0;\n                      }\n                    }\n                      else\n                    {\n                      if(bottomLeft[i][1]<=topRight[j][1]&&topRight[j][1]<=topRight[i][1])\n                      {\n                           col=topRight[j][1]-bottomLeft[i][1];\n                           t=-1;\n                      }\n                      else if(bottomLeft[i][1]<=topRight[j][1]&&topRight[j][1]>=topRight[i][1])\n                      {\n                          col=topRight[i][1]-bottomLeft[i][1];\n                          t=-1;\n                      }\n                      else\n                      {\n                          t=0;\n                      }\n                    }\n                      if(t==-1)\n                      {\n                         row=min(row,col);\n                         ans=max(ans,(row*row));\n                      }\n                    }\n                 }\n            }\n        }\n        return ans;\n    }\n};\n```
['Array', 'Math', 'C++']