C++ Backtrack Solution
\nclass Solution {\npublic:\n    int ans = 0;\n    bool ispal(string &n){\n        int i=0,j=n.length()-1;\n        while(i<j){\n            if(n[i]!=n[j]){\n  
```\nclass Solution {\npublic:\n    int ans = 0;\n    bool ispal(string &n){\n        int i=0,j=n.length()-1;\n        while(i<j){\n            if(n[i]!=n[j]){\n                return false;\n            }\n            i++,j--;\n        }\n        return true;\n    }\n   \n    void temp(string &ori,int i,string a,string b){\n        if(i==ori.length()){\n            if(ispal(a) && ispal(b)){\n                ans = max(ans,(int)(a.length()*b.length()));\n            }\n            return;\n        }\n        \n        temp(ori,i+1,a+ori[i],b);\n        temp(ori,i+1,a,b+ori[i]);\n        temp(ori,i+1,a,b);\n        \n        \n    }\n    \n    int maxProduct(string s) {\n        temp(s,0,"","");\n        return ans;\n    }\n};\n```
['Backtracking', 'C']