만드는 중입니다

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

로테리아

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

요약
주어진 각 행의 열별 합이 모든 목표 홀짝성과 일치하는 비어 있지 않은 부분집합이 존재하지 않도록 K개의 목표 홀짝성을 고를 수 있는지 판정한다.
난이도

보통10점 중 5점

유형
수학, 비트 연산, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

BWS 로테리아 복권 추첨은 매년 열린다. 참가자 NN명이 각각 수 KK개를 고르고, ii번째 참가자가 고른 jj번째 수를 Bi,jB_{i,j}라고 한다. 그다음 주최 측이 양의 정수 KK개를 고르며, 이 수를 W1,W2,…,WKW_1, W_2, \dots, W_K라고 한다.

당첨은 다음 절차로 정해진다.

  • 참가자 NN명 중에서 비어 있지 않은 부분집합 하나를 무작위로 뽑는다.
  • 뽑힌 참가자가 고른 첫 번째 수를 모두 더한 값을 S1S_1이라고 한다. 즉 뽑힌 참가자의 번호를 ii라 하면 S1S_1은 Bi,1B_{i,1}의 합이다. 같은 방식으로 S2,…,SKS_2, \dots, S_K를 구한다.
  • 각 jj마다 WjW_j와 SjS_j의 홀짝이 같은지 확인한다.
  • 모든 jj에서 홀짝이 같으면 이 참가자 집합은 당첨이다.

주최 측은 어떤 부분집합도 당첨되지 않도록 W1,W2,…,WKW_1, W_2, \dots, W_K를 고를 수 있는지 알고 싶다.

입력

첫째 줄에 참가자 수 NN과 참가자 한 명이 고르는 수의 개수 KK가 주어진다. (1≤N≤1041 \le N \le 10^4, 3≤K≤503 \le K \le 50)

다음 NN개의 줄에는 참가자가 고른 수 KK개가 한 줄에 한 명씩 주어진다. 참가자가 고르는 수는 11 이상 5050 이하의 정수다.

출력

어떤 부분집합도 당첨되지 않도록 W1,W2,…,WKW_1, W_2, \dots, W_K를 고를 수 있으면 S를, 그렇지 않으면 N을 출력한다.

예제3

  1. 예제 1

    입력
    2 3
    1 2 3
    5 6 7
    
    예상 출력
    S
    
  2. 예제 2

    입력
    3 3
    3 2 1
    6 5 4
    4 4 4
    
    예상 출력
    S
    
  3. 예제 3

    입력
    4 3
    9 4 7
    4 4 4
    2 7 2
    2 2 1
    
    예상 출력
    N