p398.cpp
======================
#include <bits/stdc++.h>
#define endl '\n'

// #pragma GCC optimize ("O3")
// #pragma GCC target ("sse4")

using namespace std;
template<class T, class T2>
inline void chkmax(T& x, const T2& y) {
    if(x < y) {
        x = y;
    }
}
template<class T, class T2>
inline void chkmin(T& x, const T2& y) {
    if(x > y) {
        x = y;
    }
}
const int MAXN = (1 << 6);

int n, x;
int adj[MAXN][MAXN];

void read() {
    cin >> n >> x;
    for(int i = 1; i <= n; i++) {
        int cnt;
        cin >> cnt;
        while(cnt--) {
            int x;
            cin >> x;
            adj[x][i] = 1;
            adj[i][x] = 1;
        }
    }
}

void solve() {
    vector<int> li;
    for(int i = 1; i <= n; i++) {
        bool ok = (i != x && adj[i][x] == 0);
        if(!ok) {
            continue;
        }

        ok = 0;
        for(int o = 1; o <= n; o++) {
            if(adj[x][o] && adj[o][i]) {
                ok = 1;
            }
        }

        if(ok) {
            li.push_back(i);
        }
    }

    cout << li.size() << endl;
    for(int x: li) {
        cout << x << " ";
    }
    cout << endl;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    read();
    solve();
    return 0;
}

=================
statement.txt
======================
398. Friends of Friends
Time limit per test: 0.25 second(s)
Memory limit: 65536 kilobytes
input: standard
output: standard



Social networks are very popular now. They use different types of relationships to organize individual users in a network. In this problem friendship is used as a method to connect users. For each user you are given the list of his friends. Consider friendship as a symmetric relation, so if user a is a friend of user b then b is a friend of a.

A friend of a friend for a is such a user c that c is not a friend of a, but there is such b that b is a friend of a and c is a friend of b. Obviously c ≠ a.

Your task is to find the list of friends of friends for the given user x.

Input
The first line of the input contains integer numbers N and x (1 ≤ N ≤ 50, 1 ≤ x ≤ N), where N is the total number of users and x is user to be processed. Users in the input are specified by their numbers, integers between 1 and N inclusive. The following N lines describe friends list of each user. The i-th line contains integer di (0 ≤ di ≤ 50) — number of friends of the i-th user. After it there are di distinct integers between 1 and N — friends of the i-th user. The list doesn't contain i. It is guaranteed that if user a is a friend of user b then b is a friend of a.

Output
You should output the number of friends of friends of x in the first line. Second line should contain friends of friends of x printed in the increasing order.

Example(s)
sample input
sample output
4 2
1 2
2 1 3
2 4 2
1 3
1
4

sample input
sample output
4 1
3 4 3 2
3 1 3 4
3 1 2 4
3 1 2 3

=================
