A valid parentheses string is either empty `""`

, `"(" + A + ")"`

, or `A + B`

, where `A`

and `B`

are valid parentheses strings, and `+`

represents string concatenation.

- For example,
`""`

,`"()"`

,`"(())()"`

, and`"(()(()))"`

are all valid parentheses strings.

A valid parentheses string `s`

is primitive if it is nonempty, and there does not exist a way to split it into `s = A + B`

, with `A`

and `B`

nonempty valid parentheses strings.

Given a valid parentheses string `s`

, consider its primitive decomposition: `s = P`

, where _{1} + P_{2} + ... + P_{k}`P`

are primitive valid parentheses strings._{i}

Return `s`

*after removing the outermost parentheses of every primitive string in the primitive decomposition of *`s`

.

**Example 1:**

Input:s = "(()())(())"Output:"()()()"Explanation:The input string is "(()())(())", with primitive decomposition "(()())" + "(())". After removing outer parentheses of each part, this is "()()" + "()" = "()()()".

**Example 2:**

Input:s = "(()())(())(()(()))"Output:"()()()()(())"Explanation:The input string is "(()())(())(()(()))", with primitive decomposition "(()())" + "(())" + "(()(()))". After removing outer parentheses of each part, this is "()()" + "()" + "()(())" = "()()()()(())".

**Example 3:**

Input:s = "()()"Output:""Explanation:The input string is "()()", with primitive decomposition "()" + "()". After removing outer parentheses of each part, this is "" + "" = "".

**Constraints:**

`1 <= s.length <= 10`

^{5}`s[i]`

is either`'('`

or`')'`

.`s`

is a valid parentheses string.

class Solution {
public String removeOuterParentheses(String s) {
}
}