Petya loves lucky numbers. We all know that lucky numbers are the positive integers whose decimal representations contain only the lucky digits 4 and 7. For example, numbers 47, 744, 4 are lucky and 5, 17, 467 are not.

Unfortunately, not all numbers are lucky. Petya calls a number nearly lucky if the number of lucky digits in it is a lucky number. He wonders whether number n is a nearly lucky number.

Input

The only line contains an integer n (1 ≤ n ≤ 1018).

Please do not use the %lld specificator to read or write 64-bit numbers in С++. It is preferred to use the cin, cout streams or the %I64d specificator.

Output

Print on the single line "YES" if n is a nearly lucky number. Otherwise, print "NO" (without the quotes).

Examples

Input

40047


Output

NO


Input

7747774


Output

YES


Input

1000000000000000000


Output

NO

Note

In the first sample there are 3 lucky digits (first one and last two), so the answer is "NO".

In the second sample there are 7 lucky digits, 7 is lucky number, so the answer is "YES".

In the third sample there are no lucky digits, so the answer is "NO".
from __future__ import division
from collections import Counter as ctr
from math import ceil, log, factorial
# reads a line of input and converts into a list of ints
# 1 1 3 => [1, 1, 3]
def rl():
    return [int(i) for i in raw_input().split()]

# reads n lines of input (if n defined) and returns a list of strings
# where each element is a line in the input
# abc
# abcdef
# => ['abc', 'abcdef']
# if n not defined, read first line to get number of lines
# 2
# abc
# abcdef
# => ['abc', 'abcdef']
def rm(n=None):
    if n is None:
        n = input()
    return [raw_input() for i in range(n)]

# same as rm, except converts each line to a list of ints like rl
def rlm(n=None):
    if n is None:
        n = input()
    return [rl() for i in range(n)]

def yn(b):
    if b:
        print "YES"
    else:
        print "NO"

def islucky(n):
    s=str(n)
    for w in s:
        if w != '4' and w != '7':
            return False
    return True

n=raw_input()
c=ctr(n)
yn(islucky(c['4']+c['7']))
