32. Longest Valid Parentheses (Hard)