#include int nodes[65540] = {0}; int main() { int N, M; scanf("%d %d", &N, &M); for (int i = 0; i < N; i++) { int total_edge, dest_node; scanf("%d", &total_edge); for (int j = 0; j < total_edge; j++) { scanf("%d", &dest_node); nodes[dest_node]++; } } for (int i = 1; i < N; i++) { if (nodes[i] == 0) { for (int i = 0; i <= M; i++) { printf("0\n"); } return 0; } } printf("1\n"); for (int i = 0; i < M; i++) { int start, end; scanf("%d %d", &start, &end); if (end == 0 || nodes[end] > 1) { printf("1\n"); } else { printf("0\n"); } } return 0; }