Let f(x) be the number of zeroes at the end of x!. (Recall that x! = 1 * 2 * 3 * ... * x, and by convention, 0! = 1.)
For example, f(3) = 0 because 3! = 6 has no zeroes at the end, while f(11) = 2 because 11! = 39916800 has 2 zeroes at the end. Given K, find how many non-negative integers x have the property that f(x) = K.
Example 1:
Input: K = 0
Output: 5
Explanation: 0!, 1!, 2!, 3!, and 4! end with K = 0 zeroes.
Example 2:
Input: K = 5
Output: 0
Explanation: There is no x such that x! ends in K = 5 zeroes.
Note:
       K will be an integer in the range [0, 10^9].
class Solution:
     def canTransform(self, start, end):
         """
         :type start: str
         :type end: str
         :rtype: bool
         """
         if len(start)!=len(end) or start.replace('X','')!=end.replace('X',''):
             return False
         l,ll,r,rr=0,0,0,0
         for i in range(len(start)):
             if start[i]=='L':
                 l+=1
             elif start[i]=='R':
                 r+=1
             if end[i]=='L':
                 ll+=1
             elif end[i]=='R':
                 rr+=1
             if l>ll or r<rr:
                 return False
         return True
class Solution:
     def canTransform(self, start, end):
         """
         :type start: str
         :type end: str
         :rtype: bool
         """
         if len(start)!=len(end) or start.replace('X','')!=end.replace('X',''):
             return False
         l,ll,r,rr=0,0,0,0
         for i in range(len(start)):
             if start[i]=='L':
                 l+=1
             elif start[i]=='R':
                 r+=1
             if end[i]=='L':
                 ll+=1
             elif end[i]=='R':
                 rr+=1
             if l>ll or r<rr:
                 return False
         return True