code: def is_tile_strictly_isolated(hand_34, tile_34):
      
      hand_34 = copy.copy(hand_34)
      # we don't need to count target tile in the hand
      hand_34[tile_34] -= 1
      if hand_34[tile_34] < 0:
          hand_34[tile_34] = 0
  
      indices = []
      if is_honor(tile_34):
          return hand_34[tile_34] == 0
      else:
          simplified = simplify(tile_34)
  
          # 1 suit tile
          if simplified == 0:
              indices = [tile_34, tile_34 + 1, tile_34 + 2]
          # 2 suit tile
          elif simplified == 1:
              indices = [tile_34 - 1, tile_34, tile_34 + 1, tile_34 + 2]
          # 8 suit tile
          elif simplified == 7:
              indices = [tile_34 - 2, tile_34 - 1, tile_34, tile_34 + 1]
          # 9 suit tile
          elif simplified == 8:
              indices = [tile_34 - 2, tile_34 - 1, tile_34]
          # 3-7 tiles tiles
          else:
              indices = [tile_34 - 2, tile_34 - 1, tile_34, tile_34 + 1, tile_34 + 2]
  
      return all([hand_34[x] == 0 for x in indices])
docs: Tile is strictly isolated if it doesn't have -2, -1, 0, +1, +2 neighbors
      :param hand_34: array of tiles in 34 tile format
      :param tile_34: int
      :return: bool