n,m,K=map(int,input().split()) l=max(n,m) a=[0]*l for i in range(m): a[i]=int(input()[::-1],2) x=0 for y in range(n): for i in range(x,l): if (a[i]>>y)&1: a[x],a[i]=a[i],a[x] for j in range(x+1,l): if (a[j]>>y)&1: a[j]^=a[x] x+=1 break print(pow(2,a[:n].count(0),K))