Codeforces Round 438 by Sberbank and Barcelona Bootcamp (Div. 1 + Div. 2 combined)
C
Qualification Rounds
Codeforces
1500
原题
← BD →
翻译中…

Snark and Philip are preparing the problemset for the upcoming pre-qualification round for semi-quarter-finals. They have a bank of $*n*$ problems, and they want to select any non-empty subset of it as a problemset.

翻译中…

$*k*$ experienced teams are participating in the contest. Some of these teams already know some of the problems. To make the contest interesting for them, each of the teams should know at most half of the selected problems.

翻译中…

Determine if Snark and Philip can make an interesting problemset!

翻译中…

Input

翻译中…

The first line contains two integers $*n*$, $*k*$ ($1 ≤ *n* ≤ 10^{5}$, $1 ≤ *k* ≤ 4$) — the number of problems and the number of experienced teams.

翻译中…

Each of the next $*n*$ lines contains $*k*$ integers, each equal to $0$ or $1$. The $*j*$-th number in the $*i*$-th line is $1$ if $*j*$-th team knows $*i*$-th problem and $0$ otherwise.

翻译中…

Output

翻译中…

Print "YES" (quotes for clarity), if it is possible to make an interesting problemset, and "NO" otherwise.

翻译中…

You can print each character either upper- or lowercase ("YeS" and "yes" are valid when the answer is "YES").

翻译中…

Note

翻译中…

In the first example you can't make any interesting problemset, because the first team knows all problems.

翻译中…

In the second example you can choose the first and the third problems.

翻译中…

样例

Input #1
5 3
1 0 1
1 1 0
1 0 0
1 0 0
1 0 0
Output #1
NO
InputCopy OutputCopy
Input #2
3 2
1 0
1 1
0 1
Output #2
YES
InputCopy OutputCopy
题目信息
题号
868C
时间限制
2 s
内存限制
256 MB
标签
位运算
暴力
构造
动态规划

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。