code: def normalize(e1, e2, e3):
      if e1 == "o":
          return "O"
  
      if e2 != "o" and e1[:2] != e2[:2]:
          raise ValueError(
              "Found a token with conflicting position tags %s,%s"
              % (e1, e2)
          )
      if e3 != "o" and e2 == "o":
          raise ValueError(
              "Found a token with tertiary label but no secondary label %s,%s,%s"
              % (e1, e2, e3)
          )
      if e3 != "o" and (e1[:2] != e2[:2] or e1[:2] != e3[:2]):
          raise ValueError(
              "Found a token with conflicting position tags %s,%s,%s"
              % (e1, e2, e3)
          )
  
      if e1[2:] in ("ORGANIZATION", "FACILITIES"):
          return e1
      if (
          e1[2:] == "ENTERTAINMENT"
          and e2[2:] != "SPORTS"
          and e2[2:] != "CINEMA"
      ):
          return e1
      if e1[2:] == "DISEASE" and e2 == "o":
          return e1
      if e1[2:] == "PLANTS" and e2[2:] != "PARTS":
          return e1
      if e1[2:] == "PERSON" and e2[2:] == "INDIVIDUAL":
          return e1
      if e1[2:] == "LOCATION" and e2[2:] == "PLACE":
          return e1
      if e1[2:] in ("DATE", "TIME", "YEAR"):
          string = e1[:2] + "DATETIME"
          return string
  
      return "O"
  
imports: import argparse
  import glob
  import os
  import random
label_desc: Use image node_id 1 for calling a global function with example usage: normalize(e1, e2, e3) and returns: str, str, e1, e1, e1, e1, e1, e1, string