package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var n int
var s string
if _, err := fmt.Fscan(in, &n); err != nil {
return
}
if _, err := fmt.Fscan(in, &s); err != nil {
return
}
if n%2 == 1 {
fmt.Fprintln(out, "No")
return
}
bal := 0
minB := int(1 << 30)
for i := 0; i < n; i++ {
if s[i] == '(' {
bal++
} else {
bal--
}
if bal < minB {
minB = bal
}
}
if bal != 0 {
fmt.Fprintln(out, "No")
return
}
if minB >= -1 {
fmt.Fprintln(out, "Yes")
} else {
fmt.Fprintln(out, "No")
}
}