def imshow(*imgs, **options):
    """
    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
    """
    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()