# Your friend is typing his name into a keyboard.
# Sometimes, when typing a character c, the key might get long pressed, and the character will be typed 1 or more times.
#
# You examine the typed characters of the keyboard.
# Return True if it is possible that it was your friends name, with some characters (possibly none) being long pressed.
# Example:
# Input: name = "alex", typed = "aaleex"
# Output: true
# Explanation: 'a' and 'e' in 'alex' were long pressed.
#
#
# Input: name = "saeed", typed = "ssaaedd"
# Output: false
# Explanation: 'e' must have been pressed twice, but it wasn't in the typed output.
#
# Input: name = "leelee", typed = "lleeelee"
# Output: true
#
# Input: name = "laiden", typed = "laiden"
# Output: true
# Explanation: It's not necessary to long press any character.

def isLongPressedName(name, typed):
    """
    :type name: str
    :type typed: str
    :rtype: bool
    """
    M = len(name)
    N = len(typed)
    i, j = 0, 0
    while i < M:
        c_i = name[i]
        count_i = 0
        count_j = 0
        while i < M and name[i] == c_i:
            i += 1
            count_i += 1
        while j < N and typed[j] == c_i:
            j += 1
            count_j += 1
        if count_j < count_i:
            return False
    return True

print(isLongPressedName("leelee", "lleeelee"))