Given a string `s`

, determine if it is **valid**.

A string `s`

is **valid** if, starting with an empty string `t = ""`

, you can **transform **`t`

** into **`s`

after performing the following operation **any number of times**:

- Insert string
`"abc"`

into any position in`t`

. More formally,`t`

becomes`t`

, where_{left}+ "abc" + t_{right}`t == t`

. Note that_{left}+ t_{right}`t`

and_{left}`t`

may be_{right}**empty**.

Return `true`

*if *`s`

* is a valid string, otherwise, return*

`false`

.

**Example 1:**

Input:s = "aabcbc"Output:trueExplanation:"" -> "abc" -> "aabcbc" Thus, "aabcbc" is valid.

**Example 2:**

Input:s = "abcabcababcc"Output:trueExplanation:"" -> "abc" -> "abcabc" -> "abcabcabc" -> "abcabcababcc" Thus, "abcabcababcc" is valid.

**Example 3:**

Input:s = "abccba"Output:falseExplanation:It is impossible to get "abccba" using the operation.

**Example 4:**

Input:s = "cababc"Output:falseExplanation:It is impossible to get "cababc" using the operation.

**Constraints:**

`1 <= s.length <= 2 * 10`

^{4}`s`

consists of letters`'a'`

,`'b'`

, and`'c'`

class Solution {
public boolean isValid(String s) {
}
}