code: def imshow(*imgs, **options):
      
      n = len(imgs)
      nrows = int(math.ceil(math.sqrt(n)))
      ncols = int(math.ceil(n / nrows))
      for row in range(nrows):
          for col in range(ncols):
              i = row * ncols + col
              if i >= n:
                  break
              plt.subplot(nrows, ncols, i+1)
              show_img(imgs[i], options)
      plt.show()
docs: Plots multiple images using matplotlib
          by dynamically finding the required number of rows and cols.
      :param imgs: Images as any number of arguments
      :param options: Dict of options
          - cmap: Color map for gray scale images
          - vmin: Minimum value to be used in color map
          - vmax: Maximum value to be used in color map