помогите, нужна программа на паскале:

Лабиринт задается матрицей смежности N*N, где С(i,j)=1, если узел i связан узлом j посредством дороги.
Часть узлов назначается входами, часть - выходами.
Входы и выходы задаются последовательностями узлов X(1),...,X(p) и Y(1),...,Y(k) соответственно.

Найти максимальное число людей, которых можно провести от входов до выходов таким образом чтобы:

а) их пути не пересекались по дорогам, но могут пересекаться по узлам;

б) их пути не пересекались по узлам;

Решение привести в языке Паскаль.