<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load_routing_tables(self, routing_tables, app_id):
 """Allocate space for an load multicast routing tables. The routing table entries will be removed automatically when the associated application is stopped. Parameters routing_tables : {(x, y):
 \ [:py:class:`~rig.routing_table.RoutingTableEntry`\ Map of chip co-ordinates to routing table entries, as produced, for example by :py:func:`~rig.routing_table.routing_tree_to_tables` and :py:func:`~rig.routing_table.minimise_tables`. Raises ------ rig.machine_control.machine_controller.SpiNNakerRouterError If it is not possible to allocate sufficient routing table entries. """

        for (x, y), table in iteritems(routing_tables):
            self.load_routing_table_entries(table, x=x, y=y, app_id=app_id)