code: def split(self, box_size):
          
          w, h = box_size
          rows = round(self.height / h)
          cols = round(self.width / w)
  
          boxes = []
          for row in range(rows):
              for col in range(cols):
                  box = Box(self.x + (col * w), self.y + (row * h), w, h)
                  boxes.append(box)
          return boxes
docs: Splits the box object into many boxes each of given size.
          Assumption: the entire box can be split into rows and columns with the given size.
  
          :param box_size: (width, height) of the new tiny boxes
          :return: Array of tiny boxes