N,M,mod=map(int,input().split()) E=(N+59)//60 v=[[0]*E for i in range(M)] u=[1]*60 for k in range(1,60): u[k]=2**k for i in range(M): S=input() for j in range(N): a,b=j//60,j%(60) if S[j]=='1': v[i][a]+=u[b] used=[False]*N for i in range(M): if sum(v[i])>0: for pos in range(E): if v[i][pos]>0: a=pos b=-1 for k in range(60): if(v[i][pos]>>k)&1: b=k break for j in range(i+1,M): if (v[j][pos]>>b)&1: v[j][pos]^=v[i][pos] used[60*pos+b]=True break result=1 for i in range(N): if used[i]==False: result*=2 result%=mod print(result)