1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 #include<cmath>
5 #include<queue>
6 #include<algorithm>
7 #define lli long long int
8 using namespace std;
9 const int MAXN=1001;
10 const int maxn=0x7fffff;
11 inline void read(int &n)
12 {
13 char c=‘+‘;int x=0;bool flag=0;
14 while(c<‘0‘||c>‘9‘)
15 {c=getchar();if(c==‘-‘)flag=1;}
16 while(c>=‘0‘&&c<=‘9‘)
17 {x=(x<<1)+(x<<3)+c-48;c=getchar();}
18 flag==1?n=-x:n=x;
19 }
20 int a[MAXN][MAXN];
21 int dp[MAXN];
22 int n,m;
23 int main()
24 {
25 read(n);read(m);
26 for(int i=1;i<=m;i++)
27 for(int j=1;j<=n;j++)
28 read(a[i][j]);
29 for(int i=0;i<=(1<<n);i++)
30 dp[i]=maxn;
31 dp[0]=0;
32 for(int i=0;i<=(1<<n);i++)
33 {
34 for(int j=1;j<=m;j++)
35 {
36 int now=i;
37 for(int k=1;k<=n;k++)
38 {
39 if(a[j][k]==0) continue;
40 if(a[j][k]==1) now=now|(1<<k-1);
41 if(a[j][k]==-1&&now&(1<<k-1)) now^=(1<<k-1);
42 }
43 dp[now]=min(dp[now],dp[i]+1);
44 }
45 }
46 if(dp[(1<<n)-1]==maxn)printf("The patient will be dead.\n");
47 else printf("%d\n",dp[(1<<n)-1]);
48 return 0;
49 }