Помогите решить задачу в Pascal ABC!!!
В городе работает сеть микроавтобусов, что имеет несколько маршрутов, каждый из каких не зачиненный и без самопересечаний. На каждом из маршрутов есть по несколько остановок, причем, некоторые стоят на пересечении маршрутовю Все остановки пронумерованны натуальными числами от 1 до n. Написать прогрумму, которая за данным описанием транспортной сети опредеит найменьшее количество пересадок, чтобы добраться от остановки A до остановки B.
Формат входных данных.
В первом ряде через пропуск записанны числа: m (1≤m20) - количество маршрутов, n (1≤n≤100) - количество остановок, A и B - номера остановок, для которых нужно подсчитать количество пересадок. Каждый из следующих m рядков состоит из pi чисел (2≤pi≤100) - номера остановок на i-му маршруте.
Формат выходных данных:
В один ряд записать число k - наименьшее количество нужных пересадок или число -1, если это не возможно.
Примеры данных:
1) Входные: 2 5 3 1
1 2 3 4
5 3
Выходные: 0
2)Выходные: 2 10 3 8
1 3 5 7 4 9
2 4 6 8 10 7
Выходные: 1
3)Входные: 2 4 1 3
1 2
3 4
Выходные: -1