input: 
  def simulate_ATM(names: List[str], operations: List[str], amounts: List[int]) -> None:
      """Simulate an ATM transaction given a list of account names, operations, and amounts.
      The operations can be any of the following: 'deposit', 'withdrawal', 'createAccount'.
      For 'createAccount', the name and balance are provided in the names and amounts lists respectively.
      For each 'deposit' and 'withdrawal', perform the corresponding action on the account with the given name and amount.
      
      >>> simulate_ATM(['John'], ['createAccount'], [1000])
      >>> simulate_ATM(['John'], ['deposit'], [200])
      >>> simulate_ATM(['John'], ['withdrawal'], [300])
      >>> simulate_ATM(['John'], ['printBalance'], [0])
      John  Balance:  900
      """
  
output:     
      accounts = {}
      for i in range(len(names)):
          name = names[i]
          operation = operations[i]
          amount = amounts[i]
          
          if operation == 'createAccount':
              accounts[name] = amount
          elif operation == 'deposit':
              if name in accounts:
                  accounts[name] += amount
              else:
                  print(f"Account {name} does not exist.")
          elif operation == 'withdrawal':
              if name in accounts:
                  if accounts[name] >= amount:
                      accounts[name] -= amount
                  else:
                      print(f"Insufficient balance in account {name}.")
              else:
                  print(f"Account {name} does not exist.")
          elif operation == 'printBalance':
              if name in accounts:
                  print(f"{name}  Balance:  {accounts[name]}")
              else:
                  print(f"Account {name} does not exist.")
  