```cpp
#include <bits/stdc++.h>
using namespace std;
int f[210][210],n,m,a,b;
int main()
{
cin>>n>>a>>b;
memset(f,1000000009,sizeof(f));
for(int i=1;i<=n;i++){
int m;
cin>>m;
int l;
for(int j=1;j<=m;j++){
cin>>l;f[i][l]=1;
if(j==1)f[i][l]=0;}
f[i][i]=0;
}
for (int k = 1; k <= n; k ++ )
for (int i = 1; i <= n; i ++ )
for (int j = 1; j <= n; j ++ )
if(i!=j&&j!=k&&i!=k)
f[i][j] = min(f[i][j], f[i][k] + f[k][j]);
if(f[a][b]==1000000009)
cout<<"-1";
else
cout<<f[a][b];
return 0;
}