package main import ( "bufio" "fmt" "os" "strconv" ) var sc, wr = bufio.NewScanner(os.Stdin), bufio.NewWriter(os.Stdout) func scanString() string { sc.Scan(); return sc.Text() } func scanRunes() []rune { return []rune(scanString()) } func scanInt() int { a, _ := strconv.Atoi(scanString()); return a } func scanInt64() int64 { a, _ := strconv.ParseInt(scanString(), 10, 64); return a } func scanFloat64() float64 { a, _ := strconv.ParseFloat(scanString(), 64); return a } func scanInts(n int) []int { res := make([]int, n) for i := 0; i < n; i++ { res[i] = scanInt() } return res } func debug(a ...interface{}) { fmt.Fprintln(os.Stderr, a...) } func abs(a int) int { if a < 0 { return -a } return a } func min(a, b int) int { if a < b { return a } return b } func max(a, b int) int { if a > b { return a } return b } //•*¨*•.¸¸♪main•*¨*•.¸¸♪( -ω-)ノ ( ・ω・) func main() { defer wr.Flush() // sc.Split(bufio.ScanWords) sc.Buffer(make([]byte, 10000), 1001001) s := scanString() cnt1 := map[rune]bool{} cnt2 := map[rune]bool{} if len(s) == 1 { fmt.Fprintln(wr, "NO") return } for i,v := range s { if i&1 == 0 { if v == ' ' { fmt.Fprintln(wr, "NO") return } cnt1[v] = true } else { cnt2[v] = true } } for e := range cnt1 { if cnt2[e] { fmt.Fprintln(wr, "NO") return } } fmt.Fprintln(wr, "Yes") }