Modify the following code so that all the images are displayed in a single image:

```
from PIL import Image, ImageDraw, ImageFont
import numpy as np
import os
import random
from itertools import zip_longest

def print_image(game, villain, text="", first_player=False):
    
    if first_player:
        text = f'(1°) {text}'
    
    villain = villain.replace(" ", "_")
    path = f"Images/{game}/{villain}.webp"
    # Open the image file
    image = Image.open(path)
    
    # Calculate the average color of the image
    average_color = image.convert("RGB").resize((1, 1)).getpixel((0, 0))

    # Create a drawing object
    draw = ImageDraw.Draw(image)
    

    # Specify the font size
    font_size = 150
    font = ImageFont.truetype("Helvetica", font_size)

    # Calculate the size of the text
    text_width, text_height = draw.textsize(text, font=font)

    if game == 'Disney':
        margin = 60
    elif game == 'NAME_1':
        margin = 110
    
    # Calculate the position of the text
    x = (image.width - text_width) / 2
    y = image.height - text_height - margin  # Add a small margin from the bottom of the image

    # Draw the white border
    border_size = 2
    for border_x in range(-border_size, border_size+1):
        for border_y in range(-border_size, border_size+1):
            draw.text((x+border_x, y+border_y), text, font=font, fill=average_color)

    # Draw the text on the image using the font and size
    draw.text((x, y), text, font=font, fill=tuple(255-np.array(average_color)))

    # Sh