#include<iostream>
#include<vector>
#include<queue>
using namespace std;

int main(){
    int n;
    cin>>n;
    vector<vector<int>> g(n);
    int u,k,v;
    for(int i=0;i<n;++i){
        cin>>u>>k;
        if(k==0)continue;
        for(int j=0;j<k;++j){
            cin>>v;
            g[i].push_back(v-1);
        }
    }
    vector<int> dist(n,-1);
    queue<int> que;
    dist[0]=0;
    que.push(0);
    while(!que.empty()){
        int q=que.front();
        que.pop();
        for(int nv:g[q]){
            if(dist[nv]!=-1)continue;
            dist[nv]=dist[q]+1;
            que.push(nv);
        }
    }
    for(int i=0;i<n;++i){
        cout<<i+1<<" "<<dist[i]<<endl;
        //if(i<n-1)cout<<""<<endl;
    }
    return 0;
}
