<p>Given a string <code>s</code>, find two <strong>disjoint palindromic subsequences</strong> of <code>s</code> such that the <strong>product</strong> of their lengths is <strong>maximized</strong>. The two subsequences are <strong>disjoint</strong> if they do not both pick a character at the same index.</p> <p>Return <em>the <strong>maximum</strong> possible <strong>product</strong> of the lengths of the two palindromic subsequences</em>.</p> <p>A <strong>subsequence</strong> is a string that can be derived from another string by deleting some or no characters without changing the order of the remaining characters. A string is <strong>palindromic</strong> if it reads the same forward and backward.</p> <p> </p> <p><strong>Example 1:</strong></p> <img alt="example-1" src="https://assets.leetcode.com/uploads/2021/08/24/two-palindromic-subsequences.png" style="width: 550px; height: 124px;" /> <pre> <strong>Input:</strong> s = "leetcodecom" <strong>Output:</strong> 9 <strong>Explanation</strong>: An optimal solution is to choose "ete" for the 1<sup>st</sup> subsequence and "cdc" for the 2<sup>nd</sup> subsequence. The product of their lengths is: 3 * 3 = 9. </pre> <p><strong>Example 2:</strong></p> <pre> <strong>Input:</strong> s = "bb" <strong>Output:</strong> 1 <strong>Explanation</strong>: An optimal solution is to choose "b" (the first character) for the 1<sup>st</sup> subsequence and "b" (the second character) for the 2<sup>nd</sup> subsequence. The product of their lengths is: 1 * 1 = 1. </pre> <p><strong>Example 3:</strong></p> <pre> <strong>Input:</strong> s = "accbcaxxcxx" <strong>Output:</strong> 25 <strong>Explanation</strong>: An optimal solution is to choose "accca" for the 1<sup>st</sup> subsequence and "xxcxx" for the 2<sup>nd</sup> subsequence. The product of their lengths is: 5 * 5 = 25. </pre> <p> </p> <p><strong>Constraints:</strong></p> <ul> <li><code>2 <= s.length <= 12</code></li> <li><code>s</code> consists of lowercase English letters only.</li> </ul>