def place_plate_to_plate_match_wells(step, input_container, output_container):
    """
    Places samples in the input_container in the output_container at
    the same well location.
    Plates do not have to be the same dimensions, but artifacts placed
    at invalid wells will not be accepted by Clarity.

    To submit these changes you will need to call step.placements.post_and_parse() after.
    :param step: The step that the placement is being done for
    :param input_container: Container with artifacts to place in the output container
    :param output_container: Container that will be populated with artifacts.
    """
    for io_map in step.details.iomaps:
        if io_map.input.container == input_container:
            step.placements.create_placement(io_map.output,
                output_container, io_map.input.location_value)
