만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

자료구조는 정말 최고야

면접 대비

시간 제한1초메모리 제한1024 MB

요약
서로 다른 번호 1번부터 N번까지의 책이 M개의 더미로 쌓여 있을 때, 각 더미의 맨 위 책만 꺼내어 1, 2, ..., N 순서로 꺼낼 수 있는지 판정한다.
난이도

보통10점 중 5점

유형
스택, 시뮬레이션, 구현, 그리디
정답자
아직 제출이 없습니다

문제

찬우는 스택을 배운 뒤 자료구조 과목과 사랑에 빠지고 말았다.

자료구조 과목만을 바라보기로 다짐한 찬우는 나머지 과목의 교과서 NN권을 방 구석에 MM개의 더미로 아무렇게나 쌓아 두었다. 하지만 중간고사가 다가오자 더 이상 자료구조만 공부할 수는 없었고, 결국 찬우는 팽개쳤던 나머지 과목의 교과서를 정리하고 번호순으로 나열하려 한다.

NN권의 교과서는 각각 11부터 NN까지의 번호가 매겨져 있다. 찬우는 각 더미의 맨 위에 있는 교과서만 꺼낼 수 있으며, 반드시 교과서를 꺼낸 순서대로 나열해야 하기 때문에 번호순으로 나열하기 위해서는 11번, 22번, … N−1N - 1번, NN번 교과서 순으로 꺼내야 한다. 교과서를 올바르게 나열할 수 없다면 중간고사 공부를 때려치겠다는 찬우를 위해 번호순으로 나열할 수 있는지 여부를 알려주는 프로그램을 작성해 주자.

입력

첫째 줄에 교과서의 수 NN, 교과서 더미의 수 MM이 주어진다.

둘째 줄부터 2×M2\times M줄에 걸쳐 각 더미의 정보가 주어진다.

ii번째 더미를 나타내는 첫 번째 줄에는 더미에 쌓인 교과서의 수 kik_{i} 가 주어지며, 두 번째 줄에는 kik_{i} 개의 정수가 공백으로 구분되어 주어진다.

각 정수는 교과서의 번호를 나타내며, 아래에 있는 교과서의 번호부터 주어진다.

교과서의 번호는 11부터 NN까지의 정수가 한 번씩만 등장한다.

출력

올바른 순서대로 교과서를 꺼낼 수 있다면 Yes를, 불가능하다면 No를 출력한다.

제한

  • 1≤M≤N≤200 0001 \leq M \leq N \leq 200\,000
  • 1≤ki1 \leq k_i
  • 모든 kik_{i}의 합은 항상 NN이다.

예제2

  1. 예제 1

    입력
    4 2
    2
    3 1
    2
    4 2
    
    예상 출력
    Yes
    
  2. 예제 2

    입력
    5 2
    3
    3 5 1
    2
    4 2
    
    예상 출력
    No