package main
import (
"fmt"
"strings"
)
func main() {
var s string
if _, err := fmt.Scan(&s); err != nil {
return
}
for i := 0; i < len(s); i++ {
if s[i] != '1' && s[i] != '4' {
fmt.Println("NO")
return
}
}
if s[0] == '4' || strings.Contains(s, "444") {
fmt.Println("NO")
return
}
fmt.Println("YES")
}