Задача "Экспедиция"

Месклениты собрались в экспедицию на край света. У них есть корабль, состоящий из N x M плотиков, связанных между собой. У каждого плотика есть своя грузоподъемность, а у каждого мескленита - своя масса. На каждом плотике может находиться не более одного мескленита. Если грузоподъемность выбранного плотика меньше массы мескленита, то бедный мескленит утонет при посадке.

Руководитель экспедиции продумывает рассадку по плотикам. Помогите ему определить, какому максимальному количеству мескленитов удастся отправиться в путь.

Входные данные. В первой строке даны числа N и M (1≤N≤40, 1≤M≤40). В каждой из последующих N строк содержится по M чисел, обозначающих грузоподъемность соответствующего плотика. В (N+2)-ой строке находится число K (1 ? N ? 2000) - количество мескленитов. В (N+3)-ей строке содержатся K чисел, i-ое из которых - масса i-ого мескленита. Все массы мескленитов и грузоподъемности плотиков - натуральные числа, не превышающие 109 (используйте тип данных Longint).

Выходные данные. Требуется вывести одно число - максимально возможное количество участников экспедиции.

Пример вводаПример вывода
3 2
5 10
7 5
5 5
6
9 5 3 5 12 10
4