code: def formatSI(n: float) -> str:
      """Format the integer or float n to 3 significant digits + SI prefix."""
      s = ""
      if n < 0:
          n = -n
          s += "-"
      if type(n) is int and n < 1000:
          s = str(n) + " "
      elif n < 1e-22:
          s = "0.00 "
      else:
          assert n < 9.99e26
          log = int(math.floor(math.log10(n)))
          i, j = divmod(log, 3)
          for _try in range(2):
              templ = "%.{}f".format(2 - j)
              val = templ % (n * 10 ** (-3 * i))
              if val != "1000":
                  break
              i += 1
              j = 0
          s += val + " "
          if i != 0:
              s += "yzafpnum kMGTPEZY"[i + 8]
      return s
  
imports: import asyncio
  import datetime
  import logging
  import math
  import signal
  import sys
  import time
  from dataclasses import fields, is_dataclass
  from typing import AsyncIterator, Awaitable, Callable, Iterator, List, Optional, Union
  import eventkit
label_desc: Use image node_id 14 for calling a global function with example usage: formatSI(n) and returns: s