input: def simulate_ATM(account_actions: List[str], name: str, initial_balance: float) -> List[float]:
      """ Simulate a simple ATM machine. The ATM machine supports deposit, withdrawal, 
      and balance printing. The function takes a list of actions, where each action is a 
      string in the format "deposit x", "withdrawal x", or "printBalance". It also takes 
      the name of the account holder and the initial balance. The function returns a list 
      of balances after each action.
      >>> simulate_ATM(["deposit 50", "withdrawal 20", "printBalance"], "Alice", 100.0)
      [150.0, 130.0, 130.0]
      >>> simulate_ATM(["withdrawal 20", "printBalance", "deposit 50"], "Bob", 10.0)
      [10.0, 10.0, 60.0]
      """
output:     balance = initial_balance
      balances = []
      
      for action in account_actions:
          if action.startswith("deposit"):
              amount = float(action.split()[1])
              balance += amount
              balances.append(balance)
          elif action.startswith("withdrawal"):
              amount = float(action.split()[1])
              if balance >= amount:
                  balance -= amount
              balances.append(balance)
          elif action == "printBalance":
              balances.append(balance)
      
      return balances