만드는 중입니다

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

Bitvzhuh

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

난이도

아직 분류되지 않았습니다

정답자
아직 제출이 없습니다

문제

Daniyar는 최근 "Bitvzhuh"라는 새로운 주문을 배웠다. 매우 높은 수준의 주문이지만, Daniyar는 이를 완전히 익혀 그 깊은 비밀을 모두 알아냈다.

"Bitvzhuh"는 정수 집합에 시전하면, 원래 집합에 있는 모든 쌍의 XOR 값을 담은 새로운 집합으로 바꾼다.

형식적으로, 크기가 nn인 집합을 A={a1,a2,…,an}A = \{a_1, a_2, \ldots, a_n\}이라 하자. "Bitvzhuh"를 한 번 시전하면 AA는 {ai⊕aj∣1≤i<j≤n}\{a_i \oplus a_j \mid 1 \le i < j \le n\}이 된다. 여기서 ⊕\oplus는 비트 단위 XOR 연산을 뜻한다.

초기 집합과 정수 kk가 주어진다. Daniyar가 0이 아닌 횟수만큼 "Bitvzhuh"를 시전해서 결과 집합이 범위 [1,2k−1][1, 2^k - 1]의 모든 정수를 포함하게 만들 수 있는지 판단하라.

입력

첫 번째 줄에 두 정수 nn과 kk가 주어진다 (3≤n≤1063 \le n \le 10^6, 2≤k≤622 \le k \le 62). nn은 초기 집합의 크기이고, kk는 매개변수이다.

두 번째 줄에는 서로 다른 정수 a1,a2,…,ana_1, a_2, \ldots, a_n (1≤ai<2k1 \le a_i < 2^k)이 주어진다. 이들이 초기 집합의 원소이다.

출력

0이 아닌 횟수만큼 "Bitvzhuh"를 시전한 후 집합이 범위 [1,2k−1][1, 2^k - 1]의 모든 정수를 포함하면 Yes를, 그렇지 않으면 No를 한 줄에 출력하라.

힌트

첫 번째 예제에서는 두 번 시전하면 답에 도달한다. {1,2,3,4}→{1,2,3,5,6,7}→{1,2,3,4,5,6,7}\{1, 2, 3, 4\} \rightarrow \{1, 2, 3, 5, 6, 7\} \rightarrow \{1, 2, 3, 4, 5, 6, 7\}.

두 번째 예제에서는 첫 번째 시전으로 {1,2,4,7}\{1, 2, 4, 7\}이 {3,5,6}\{3, 5, 6\}이 되고, 그 뒤로는 집합이 바뀌지 않는다.

예제2

  1. 예제 1

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

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