input: Write a function to simulate a simple ATM machine by implementing an account class and an ATM class with necessary functions. The function should return the updated balance after performing deposit and withdrawal operations. If the given account name is not found, return "Account not found".
  
  class Account:
      def __init__(self, name, balance):
          self.name = name
          self.balance = balance
  
      def deposit(self, amount):
          self.balance += amount
  
      def withdrawal(self, amount):
          self.balance -= amount
  
  class ATM:
      def __init__(self):
          self.accounts = []
  
      def createAccount(self, name, balance):
          account = Account(name, balance)
          self.accounts.append(account)
  
      def deposit(self, name, amount):
          for account in self.accounts:
              if account.name == name:
                  account.deposit(amount)
                  return account.balance
          return "Account not found"
  
      def withdrawal(self, name, amount):
          for account in self.accounts:
              if account.name == name:
                  account.withdrawal(amount)
                  return account.balance
          return "Account not found"
  
      def printBalance(self, name):
          for account in self.accounts:
              if account.name == name:
                  return account.balance
          return "Account not found"
  
  def atmSimulation(instructions):
      atm = ATM()
      for instruction in instructions:
          if instruction[0] == "createAccount":
              atm.createAccount(instruction[1], instruction[2])
          elif instruction[0] == "deposit":
              result = atm.deposit(instruction[1], instruction[2])
          elif instruction[0] == "withdrawal":
              result = atm.withdrawal(instruction[1], instruction[2])
          elif instruction[0] == "printBalance":
              result = atm.printBalance(instruction[1])
      return result
  
  assert atmSimulation([["createAccount", "Alice", 1000], ["deposit", "Alice", 200]]) == 1200
  assert atmSimulation([["createAccount", "Bob", 1500], ["withdrawal", "Bob", 500]]) == 1000
  assert atmSimulation([["printBalance", "Charlie", None]]) == "Account not found"
  assert atmSimulation([["createAccount", "David", 2000], ["withdrawal", "David", 2500]]) == 2000
  assert atmSimulation([["deposit", "Eve", 500]]) == "Account not found"
output: def atmSimulation(instructions):
      atm = ATM()
      result = None
      for instruction in instructions:
          if instruction[0] == "createAccount":
              atm.createAccount(instruction[1], instruction[2])
          elif instruction[0] == "deposit":
              result = atm.deposit(instruction[1], instruction[2])
          elif instruction[0] == "withdrawal":
              result = atm.withdrawal(instruction[1], instruction[2])
          elif instruction[0] == "printBalance":
              result = atm.printBalance(instruction[1])
      return result